MySQL in句で指定した順番通りにソートする

MySQL in句で指定した順番通りにソートする

MySQLで、in句で指定した順番通りにソートする手順を記述してます。

環境

  • OS ubuntu21.10
  • MySQL Ver 8.0.27-0ubuntu0.21.10.1 for Linux on x86_64 ((Ubuntu))
  • MySQL Workbench 8.0.27

手順

in句で指定した順番通りにソートする場合は、「ORDER BY FIELD」を使用します。

SELECT
* 
FROM テーブル名
where カラム名 in (条件)
ORDER BY FIELD(カラム名,条件);

実際に、以下のテーブルのレコードを使用して、実行してみます。

id「7,3,2」の順番で表示させます。

SELECT * FROM tbl1
where id in (7,3,2)
ORDER BY FIELD(id,7,3,2);

実行結果をみると、指定した順番で取得されていることが確認できます。