No.4ベストアンサー
- 回答日時:
ヒットした順です。
ただし、WHERE 句で指定するため、適用されるのは ORDER BY 句や GROUP BY 句を適用する前です。
全表走査の場合はブロックの先頭から検索されるのでその順という
ことになるでしょうが、結合がある場合は実行計画により内部的に
ソートされたり、順不定になるものもあるので、一概には言えませ
ん。
No.3
- 回答日時:
>order_by_clauseを指定しない場合、同じ問合せで取り出される行の順序が異なることがあります。
とリファレンスにもあるように、順序は不定です。
ソートした結果のうち、N行を取得したいというような場合はNo.2さんが記載されているSQLでいいです。
http://download.oracle.com/docs/cd/E16338_01/ser …
No.2
- 回答日時:
睡眠不足で間違えたので、訂正します。
----------------------------------
何順でもありません。
SELECT * FROM ATABLE WHERE rownum <= 10 ORDER BY AFIELD
とやると、一見 AFIELD 順に 10 件抽出しそうに見えますが、
実は、10 件抽出してからその結果を並べ替えます。
AFIELD 順に 10 件抽出したい場合は、
SELECT B.* FROM (
SELECT * FROM ATABLE ORDER BY AFIELD
) AS B WHERE rownum <= 10
とやる必要があります。
No.1
- 回答日時:
何順でもありません。
SELECT * FROM ATABLE WHERE rownum <= 10 ORDER BY AFIELD
とやると、一見 AFIELD 順に 10 件抽出しそうに見えますが、
実は、10 件抽出してからその結果を並べ替えます。
AFIELD 順に 10 件抽出したい場合は、
SELECT B.* FROM (
SELECT ATABLE.*, rownum AS Num FROM ATABLE ORDER BY AFIELD
) AS B WHERE B.Num <= 10
とやる必要があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle Oracleですがsqlで質問です。 サブクエリ内で番号というカラムで昇順の1レコード目を取得したい 3 2023/05/22 10:02
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- Oracle sqlで質問です。 idを元にidに紐付くデータで住所コードがjpのみのデータ以外のidを取得したい 4 2023/03/20 17:41
- その他(データベース) ORMについて 1 2022/06/18 10:07
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- SQL Server これをSQL文で出来るでしょうか? 1 2023/03/26 02:16
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- Oracle sqlで質問です。 Aテーブルの登録番号をキーにBテーブルから確認番号を取得したいのですが、Bテーブ 4 2023/05/18 13:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
group byの並び順を変えるだけ...
-
引数によってwhere句を切り替え...
-
SELECT FOR UPDATE で該当レコ...
-
where句中のtrim関数について
-
「数字で始まらない」ものを抽...
-
【PL/SQL】FROM区に変数を使う方法
-
単一グループのグループ関数で...
-
SQL*Loader Append
-
AccessのSQL文で1件のみヒット...
-
updateで複数行更新したい
-
データ
-
大量レコードをTRUNCATEせずに...
-
トランザクションログを出力せ...
-
アクセスのレポートでレコード...
-
440 OIP エラーについて(ORADC)
-
PL/SQL内の共通関数の引数にフ...
-
osqleditについて
-
SQLで条件にヒットしたレコード...
-
トリガからプロシージャのコー...
-
Oracle9iデータベースの削除に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【PL/SQL】FROM区に変数を使う方法
-
where句中のtrim関数について
-
単一グループのグループ関数で...
-
SELECT FOR UPDATE で該当レコ...
-
AccessのSQL文で1件のみヒット...
-
group byの並び順を変えるだけ...
-
SQL*Loader Append
-
トランザクションログを出力せ...
-
引数によってwhere句を切り替え...
-
データ
-
アクセスのレポートでレコード...
-
osqleditについて
-
「数字で始まらない」ものを抽...
-
SQLで条件にヒットしたレコード...
-
1レコード全てを改行なしで表...
-
BLOB型項目をSQLの検索条件に指...
-
PL/SQL内の共通関数の引数にフ...
-
updateで複数行更新したい
-
デフォルトでデータが表示され...
-
【SQL】違うフィールド同士の集...
おすすめ情報