勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

MySQLで指定の順にデータをソートする方法(ORDER BY FIELD)

  MySQL データベース

MySQLで指定した順にソートしてデータを取り出したい。通常だと主キーだったり何らかの日付データを昇順・降順でソートするケースが多い。今回は主キーを用いて「8、6、3」のようにソート順を指定したかった。調べてみるとORDER BY FIELDというのを用いると実現できるとのこと。以下に対応方法をメモ。

 

SQL文

SELECT * 
FROM テーブル名 
ORDER BY FIELD(`カラム名`, 8, 6, 3);

 

所感

今回のようなケースだと一旦PHPで配列に受け取っておいてから指定の順に並び変えないといけないかと思ったけどMySQL側で対応できて助かった。

 

参考サイト

https://note.com/nhsykym/n/n30d6fd3b3198

 - MySQL データベース

  関連記事

MySQLでWhere句をつけてdumpファイルを出力する方法

MySQLであるテーブルからWhere句をつけて、絞った結果をダンプさせたかった ...

MySQLでIPを整数値としてカラムに格納する

MySQLでIPを整数値としてカラムに格納しているケースがあった。今までIPが必 ...

MySQLで全角半角を区別せずに検索する方法(collate utf8_unicode_ci)

あるシステムでMySQLの検索時に「WHERE test_column coll ...

MySQLのクエリキャッシュの設定方法

MySQLでのクエリキャッシュ設定及び設定項目について以下にメモ。   ...

MySQLで経度緯度から半径○Kmのデータを抽出する方法

経度と緯度をtext型として格納しているMySQLのテーブルがあり、指定した経度 ...