MySQLで指定の順にデータをソートする方法(ORDER BY FIELD)
MySQLで指定した順にソートしてデータを取り出したい。通常だと主キーだったり何らかの日付データを昇順・降順でソートするケースが多い。今回は主キーを用いて「8、6、3」のようにソート順を指定したかった。調べてみるとORDER BY FIELDというのを用いると実現できるとのこと。以下に対応方法をメモ。
SQL文
SELECT * FROM テーブル名 ORDER BY FIELD(`カラム名`, 8, 6, 3);
所感
今回のようなケースだと一旦PHPで配列に受け取っておいてから指定の順に並び変えないといけないかと思ったけどMySQL側で対応できて助かった。
参考サイト
関連記事
-
-
MySQLでLIKE検索時に大文字・小文字・半角・全角全て区別したい
以前にMySQLであいまい検索時に大文字小文字は区別しないが、それ以外は全て区別 ...
-
-
MySQLでテーブルのカラム名やカラムの型等、詳細情報を取得する方法
MySQLでテーブルのカラム名やカラムの型等、詳細情報を取得する方法をメモ。 & ...
-
-
MySQLで開始から終了日付内を調べたいとき
等号不等号でもできるけど、BETWEENというのがよさそう。 ■参考サイト ht ...
-
-
SSH接続でMySQLにダンプファイルをインポートする方法
phpMyAdminやAdminerが入っていなかったり、ダンプファイルのサイズ ...
-
-
MySQLで直近に挿入したオートインクリメントの値と次回挿入する値を取得する方法
phpとmysqliを使っている中で次回挿入するオートインクリメントの値と、前回 ...