MySQLで指定の順にデータをソートする方法(ORDER BY FIELD)
MySQLで指定した順にソートしてデータを取り出したい。通常だと主キーだったり何らかの日付データを昇順・降順でソートするケースが多い。今回は主キーを用いて「8、6、3」のようにソート順を指定したかった。調べてみるとORDER BY FIELDというのを用いると実現できるとのこと。以下に対応方法をメモ。
SQL文
SELECT * FROM テーブル名 ORDER BY FIELD(`カラム名`, 8, 6, 3);
所感
今回のようなケースだと一旦PHPで配列に受け取っておいてから指定の順に並び変えないといけないかと思ったけどMySQL側で対応できて助かった。
参考サイト
関連記事
-
-
MySQLで1対多というテーブル構造でデータ結合と条件検索する方法
MySQLで飲食店舗テーブルと休業日テーブルがあり、1店舗に対して複数行の休業日 ...
-
-
MySQLのRANK及びDENSE_RANK関数を用いてランキングを実装する方法
ランキング機能を実装する際、上位〇位までのデータをMySQLから持ってきて順位付 ...
-
-
異なるVPS間でMySQLの接続を行う方法
異なるVPS間でMySQL接続を行った際のメモ。 目次1 対応方法 ...
-
-
MySQLでサイズの大きいファイルをインポートする際の注意点
MySQLでサイズの大きい(3GBほどの)dumpファイルを異なるサーバに移行し ...
-
-
MySQLでSELECT時に数値を3桁ずつのカンマ区切りに変換する方法
MySQLで商品価格のような数値の値を3桁ずつのカンマ区切りで取り出したいという ...