初めまして、nana0224と申します
現在Postgresql8.2で開発中なのですが
複数検索で検索した場合その検索値順で取得したいのですが
可能でしょうか?
order byは昇順か降順しかなく無効にする事は出来ないのでしょうか?
シーケンスを発行しても並び替えをしてからなので意味がありませんでした。
select * from A
where id in(7,9,4,6)
↑この(7,9,4,6)の順で取得したいのですが・・
すみませんが皆様良いお知恵をよろしくお願い致します。<m(__)m>
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
>複数検索で検索した場合その検索値順で取得したい
「検索値順」というのは、非常に曖昧な表現です。「検索条件の値の指定順」といった表現にすべきです。なぜなら、RDBMSは性能を出すために、検索条件を最適化し、物理的なI/Oが出る順にして検索してくれたりするからです。
PostgreSQL 8.2なら、それまではin条件を「or条件」のアクセス計画を作っていたものを、「in条件」のアクセス計画にするようになっていると記憶しています。
前置きが長くなってしまいましたが、ここからが直接的なアドバイスです。
こういったケースでは、case式等でソート順を与えてやる必要があります。
select * from A
where id in(7,9,4,6)
order by case id when 7 then 1
when 9 then 2
when 4 then 3
when 6 then 4
else 0
end
といった書き方になります。
chukenkenkouさん
早速の回答、有難うございます!
私の質問が至らず申し訳御座いませんでした。未だ開発経験2年ばかしのものでして・・勉強不足でした。
とても勉強になりました!
case式で与えてあげるのですね。なるほど、これなら動的な場合でも
対応出来ますね。
早速試してみます!
有難う御座いました<m(__)m>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- Visual Basic(VBA) VBAでPDFのアクティブページ番号取得 1 2023/05/25 12:41
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- SEO SEOの検索順位について 例えばあるキーワードで検索順位が6位だとしたら、そのキーワードに関連する良 1 2022/06/30 21:51
- Excel(エクセル) VLOOKUPで、検索先が3シートに分かれていて、番号の大小で検索するとエラーになります。 6 2023/07/14 19:09
- ヤフオク! ヤフオクの検索条件について 2 2023/03/28 16:49
- Visual Basic(VBA) VBAチェックボックスで有効無効切り替えできるように 5 2022/10/21 16:13
- その他(教育・科学・学問) 【 情報 ハフマン木 】 ハフマン符号化では、なぜハフマン木を用いるのですか? 例えばテキストデータ 1 2022/10/11 22:41
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
PL/SQLの変数について
-
エクセルの関数について教えて...
-
バインド変数について
-
select文のwhere句に配列を入れ...
-
SQL Left Join で重複を排除す...
-
Unionした最後にGROUP BYを追加...
-
最小値をUPDATE
-
上位3位を求めるSQL文は?
-
「Duplicate entry '1' for key...
-
ツリーメニューの作成
-
LEFT JOINが2つあるSQL文でAND...
-
[SQLServer] テーブル名からカ...
-
マイクラPC版のコマンドで効率...
-
データベースで、Prefixを付け...
-
テーブル名を省略して「h.id」...
-
SELECT/別テーブルのレコード...
-
副問合せの書き方について
-
和訳お願いします!
-
同一テーブルの同一フィールド...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
副問合せの書き方について
-
SQLサーバから、項目の属性(型...
-
SQL Left Join で重複を排除す...
-
select文のwhere句に配列を入れ...
-
PL/SQLの変数について
-
VIEWの元のテーブルのindexって...
-
マイクラPC版のコマンドで効率...
-
エクセルの関数について教えて...
-
SQLにて特定の文字を除いた検索...
-
sqlで、600行あるテーブルを100...
-
Access パラメータクエリをcsv...
-
Unionした最後にGROUP BYを追加...
-
inner joinをすると数がおかし...
-
複数テーブルのGROUP BY の使い...
-
ある条件の最大値+1を初番する...
-
MySQLのint型で001と表示する方...
-
[MySQL] UNIQUE制約の値を更新...
-
クエリ表示と、ADOで抽出したレ...
-
テーブル名を省略して「h.id」...
おすすめ情報