MySQLで指定の順にデータをソートする方法(ORDER BY FIELD)
MySQLで指定した順にソートしてデータを取り出したい。通常だと主キーだったり何らかの日付データを昇順・降順でソートするケースが多い。今回は主キーを用いて「8、6、3」のようにソート順を指定したかった。調べてみるとORDER BY FIELDというのを用いると実現できるとのこと。以下に対応方法をメモ。
SQL文
SELECT * FROM テーブル名 ORDER BY FIELD(`カラム名`, 8, 6, 3);
所感
今回のようなケースだと一旦PHPで配列に受け取っておいてから指定の順に並び変えないといけないかと思ったけどMySQL側で対応できて助かった。
参考サイト
関連記事
-
-
MySQLのview(ビュー)で仮想的なテーブルを作成する方法
MySQL関連のサイトを見ているとview(ビュー)が云々という記事を見かけた。 ...
-
-
SQLで同じ値を複数のレコードに対してUPDATE
やりたかった事は、複数のレコードに対して 同じ値に更新したいというもの。 $sq ...
-
-
MySQLのバイナリログ(/var/lib/mysql/binlog)を適切に削除する方法
レンタルしているVPS内のファイルを整理していると「/var/lib/mysql ...
-
-
MySQLで特定の値を加算しつつNULL値の場合は0にする方法
いくつかのコードに対して投票を行い、その合計値をスコアとして出したい。ただ、投票 ...
-
-
htmlspecialcharsを通してMySQLに格納したものを元に戻して出力
MySQLにHTMLタグを入れたくない場合にhtmlspecialcharsを使 ...