MySQLで指定の順にデータをソートする方法(ORDER BY FIELD)
MySQLで指定した順にソートしてデータを取り出したい。通常だと主キーだったり何らかの日付データを昇順・降順でソートするケースが多い。今回は主キーを用いて「8、6、3」のようにソート順を指定したかった。調べてみるとORDER BY FIELDというのを用いると実現できるとのこと。以下に対応方法をメモ。
SQL文
SELECT * FROM テーブル名 ORDER BY FIELD(`カラム名`, 8, 6, 3);
所感
今回のようなケースだと一旦PHPで配列に受け取っておいてから指定の順に並び変えないといけないかと思ったけどMySQL側で対応できて助かった。
参考サイト
関連記事
-
-
MySQLで大文字小文字
半角英数字のみのフォームで入力した値を検索した際、 データに差異が発生。 [Aa ...
-
-
MySQLで複数のテーブルを異なるデータベースと異なるカラムでJOIN
ちょっとややこしいんだけど、以下のような条件で3つのテーブルを結合したかった。 ...
-
-
WordPressサイトのロードアベレージが高い
あるWordPressサイトのロードアベレージが先月ぐらいまでは通常0.5前後で ...
-
-
MySQLが起動も再起動もできない
サイトで障害が発生した。FTPやSSH接続は出来るけどサイト自体は表示されない。 ...
-
-
MySQLに保存したデータをJSON形式で取得する方法
MySQLに保存したデータをJSON形式で利用したいということがたまにある(Ja ...
-
-
phpMyAdminより高速で軽量なAdminerが凄い
MySQLをGUIで管理できるphpMyAdmin。特に不満はないんだけど、もっ ...
-
-
MySQLでJOINの高速化
JOINで無茶苦茶悩んだのでメモ。やりたかった事は、MySQLで テーブルAには ...
-
-
お名前SDサーバにMySQLデータのインポート
お名前.comのレンタルサーバにそこそこ大きいサイズのMySQLデータを移行した ...
-
-
お名前.comの共用サーバー(SD)にphpmyadminを入れる
公式で書いてあるやつは3.4.2だけど、もうちょっと新しいバージョンを入れたかっ ...
-
-
さくらインターネットでCronを動かすも挙動が変
さくらインターネットのレンタルサーバでmysqldumpした結果をファイルとして ...