MySQLで指定の順にデータをソートする方法(ORDER BY FIELD)
MySQLで指定した順にソートしてデータを取り出したい。通常だと主キーだったり何らかの日付データを昇順・降順でソートするケースが多い。今回は主キーを用いて「8、6、3」のようにソート順を指定したかった。調べてみるとORDER BY FIELDというのを用いると実現できるとのこと。以下に対応方法をメモ。
SQL文
SELECT * FROM テーブル名 ORDER BY FIELD(`カラム名`, 8, 6, 3);
所感
今回のようなケースだと一旦PHPで配列に受け取っておいてから指定の順に並び変えないといけないかと思ったけどMySQL側で対応できて助かった。
参考サイト
関連記事
-
-
MySQLのREGEXPで半角記号を検索したい場合の対応方法
MySQLのREGEXPで半角記号を検索したい場合\\を付けてエスケープしないと ...
-
-
htmlspecialcharsを通してMySQLに格納したものを元に戻して出力
MySQLにHTMLタグを入れたくない場合にhtmlspecialcharsを使 ...
-
-
MySQLでサイズの大きいファイルをインポートする際の注意点
MySQLでサイズの大きい(3GBほどの)dumpファイルを異なるサーバに移行し ...
-
-
MySQLでJOINの高速化
JOINで無茶苦茶悩んだのでメモ。やりたかった事は、MySQLで テーブルAには ...
-
-
MySQLのバックアップファイルを簡単に作成できるライブラリ「myphp-backup」の利用方法
MySQLのバックアップを取る際にadminerとかから手動で対応するのではなく ...