データ抽出を任意指定の並び順にて行う「FIELD関数」令和2年 3月 1日 作成

00169

概略

各カラム毎の昇順・降順に並び替えるのは容易なのですが、任意指定の並び順に行うにはどのようにしたらよいのか。

手段

「FIELD関数」にて実現できる。

実装方法

構文

FIELD(str, str1, str2, str3, ...)

説明
str1, str2, tr3, ...リスト内でstrのインデックス (位置) を返します。
strが見つからない場合は、0を返します。 

下記テーブルに対し、後記SQL文を実行

+----+--------+
| id | number |
+----+--------+
|  1 | one    |
|  2 | two    |
|  3 | three  |
| 10 | ten    |
+----+--------+

SQL文
SELECT id number
FROM テーブル名
WHERE id IN(1, 2, 3, 10)
ORDER BY FIELD(id, 2, 10, 3, 1)

出力結果は

+----+--------+
| id | number |
+----+--------+
|  2 | two    |
| 10 | ten    |
|  3 | three  |
|  1 | one    |
+----+--------+

処理の流れとしては

初めに[WHERE id = 1]を処理
field(1, 2, 10, 3, 1) でインデックス位置4を返す
次に[WHERE id = 2]を処理
field(2, 2, 10, 3, 1) でインデックス位置1を返す

~ 処理続く ~

考察

「FIELD関数」にて任意指定の並び順に抽出することが可能。

最後までお読み下さり ありがとうございました。記事はここ迄です。

尚、本記事は作成から「3年以上」経過しています。

記事作成当時と現在の状況等により内容が適切でない場合があります。また、リンク切れが生じている場合もあります事を予めご了承下さい。

お気に入りに登録しますとお気に入り記事を一元管理でき、再度閲覧したい場合等 容易に記事を探し出す事ができますのでご活用下さい。

下段にはコメントを掲載しております。

広告バナー

コメント

頂いたコメントを下記に掲載しております。更に下部にはコメント投稿フォームを設けております。

注意事項を確認・了承した上、コメント投稿お願いいたします。

注意事項に該当するコメントにつきましては、事前告知なしに投稿したコメントの削除を行う場合があります。

予めご了承下さい。

  • 記事内容と無関係なコメント
  • 公序良俗に反するコメント
  • 個人情報や法令違反を含むコメント
  • その他、管理者が不適切と判断したコメント

現在 頂いているコメントはありません

返信先(コメント管理番号)コメントに対し返信する場合のみ
お名前・ハンドルネーム2~32文字内で入力下さい
メールアドレス公開される事はありません
電話番号半角数字+ハイフンで入力下さい
コメント全角500文字内で入力下さい