勉強したことのメモ

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でデータがあれば上書き、無ければ挿入する

既存のソースを編集時に「REPLACE INTO~~」 という見たことの無いSQ ...

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

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

phpmyadminからプロセスの停止

重たいSQL文を叩いた際、どうにも処理できず メモリ使用率が100%から下がらな ...

MySQLで歯抜けになっているint型の数値を取得する

MySQLで歯抜けになっているシーケンス番号を 取得したいケースがあった。 ■ソ ...

MySQLiでUPDATE文

MySQLiでUPDATE文 ■ソース $mysqli = new mysqli ...