勉強したことのメモ

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でIPを整数値としてカラムに格納する

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

WordPressサイトのロードアベレージが高い際の対応方法

あるWordPressサイトのロードアベレージが先月ぐらいまでは通常0.5前後で ...

MySQLのトリガーを使用して特定のテーブルの操作を行った際に別テーブルにログを残す方法

MySQLにトリガーという機能があるらしくどのようなものか調べたところ、事前に「 ...

MySQLでテキスト(日本語、半角英数字)を暗号化・復号化する方法

MySQLでデータを登録する際に暗号化したいというケースがあった。対象のデータは ...

MySQLにて直近のクエリで発行されたAUTO_INCREMENTの値を取得する方法

やりたかったことは「MySQLで新規登録(INSERT)なら、登録時のAUTO_ ...