- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL抽出順番)
SQLの抽出順番について
このQ&Aのポイント
- SQLの抽出順番を変更する方法はありますか?
- SQLの条件を変えても抽出順番が変わらない場合、どのように対応すれば良いでしょうか?
- rowid順で結果が出力される理由について教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちわ 考え方・視点を変えて、『長嶋さんが現役でサードを守ってるもん』 って思えば出来るますよ。 長嶋SQLです。
その他の回答 (2)
- bleis
- ベストアンサー率68% (11/16)
回答No.2
UNION ALLを使えば出来ると思います。 SELECT col_a FROM SomeTable WHERE col_a IN ('AAA', 'BBB'); これを、 SELECT col_a FROM SomeTable WHERE col_a = 'BBB' UNION ALL SELECT col_a FROM SomeTable WHERE col_a = 'AAA'; こうするとBBBのレコードが先頭に来るはずです。 ただし、こういうことはSQLの仕事ではありません。 ホスト言語側で行うか、display_order列を追加する等、他の方法を考えるべきです。
- kztk
- ベストアンサー率53% (59/110)
回答No.1
inはinです。順番を指定するものではありませんので無理でしょう。 AAA,BBB,CCCしかないことがはじめから分かっているのなら order by decode(カラムA, 'BBB', 1, 'CCC', 2, 'AAA', 1, 9) とかで無理やりできなくもないかもしれませんが。 ところで、 >where in ('AAA','BBB','CCC'); >※条件はカラムAの値を使用しています。 こんな書き方ありましたっけ? where カラムA in ('AAA','BBB','CCC'); ではなくて?