sql >> データベース >  >> RDS >> Mysql

MySQLでのユニオンクエリの並べ替え

    私はおそらく次のようなクエリを書くでしょう:

      select *, ((title like '%…%')*2 + (description like '%…%')) as rank
        from jobs
       where title like '%…%'
          or description like '%…%'
    order by rank desc, time desc
    

    このように、タイトルと説明の両方が一致する行が最初に表示され、次にタイトルが一致し、次に説明が一致します。私はそれをテストしていませんが、通常、mysqlはboolをintに変換するのに適しています(true:1、false:0)



    1. SQLで列の最小値を見つける方法

    2. t-sql(SQL Server)ストアドプロシージャをpgsql(postgre sql)に変換するツール

    3. PHPとMySQLのページネーション

    4. SQLServerのCROSSAPPLYに類似したPostgres