問題タブ [rownum]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oracle - OracleROWNUM疑似列
groupby句とorderby句を使用した複雑なクエリがあり、すべての行で返される並べ替えられた行番号(1 ... 2 ...(n-1)... n)が必要です。ROWNUM(クエリの述語フェーズを通過した後、クエリが並べ替えまたは集計を行う前に値が行に割り当てられる)を使用すると、並べ替えられていないリスト(4 ... 567 ... 123 ... 45)が得られます。 ...)。各行に番号を数えたり割り当てたりするためのアプリケーションを使用できません。
sql - Oracle データベースでは、ROWNUM と ROW_NUMBER の違いは何ですか?
ROWNUM
とはどう違いROW_NUMBER
ますか?
sql - サブクエリのrownum
なぜこれが機能しないのか疑問に思っていました:
これ+ TBL.Rownum
はなぜエラーになります
か?
アウロに挨拶
oracle10g - Oracle 10G - 9i からの移行後、rownum を使用したクエリが機能しなくなった
最近、DB を 9i から 10G に移行しました (はい..遅いほうがいいです。いいえ - 11g への移行は現在オプションではありません :-))
私のOracle 10G DBの詳細は次のとおりです:-
その動き以来、私は非常に奇妙な問題に直面しています。9i で問題なく動作していたクエリが、10G では動作しません。
rownum に関連する他の SO の質問を検索しましたが、似たようなものを実際に見つけることができませんでした。
SQLクエリは:-
基本的に、21 / 30 は、ページネーションのためにクエリに渡されるレコードのインデックスである数値であり、9i では、このクエリは期待どおりに機能し、指定されたデータ セットのみを返します。
ただし、10G では、この同じクエリはまったく機能せず、常に 0 レコードが返されます。
クエリのrownum関連部分にコメントすると:-
次に、結果セット全体を取得します。それは素晴らしいことです。しかし、私の意図はrownumを使用してページネーションを行うことであるため、目的全体が無効になります。
このクエリが 10G で機能しなくなった理由を知っている人はいますか? rownum 実装の更新を調べてみましたが、実際に役立つものは何も見つかりませんでした。
編集:- デバッグを行っているときに、意味をなさないものに遭遇しました。それなしでは説明できないので、以下にクエリ全体を入れています。
最も内側のサブクエリの *** で囲まれた行を参照してください。
クエリからこの行にコメントを付けると、クエリは正常に機能します。
AND PEM.ENDORSEMENT_STATUS = '投稿'
クエリからこの行にコメントを付けても、他のすべてが元から変更されていない場合、クエリも正常に機能します
1ASCで注文
rownum に関連する以前のポイントは引き続き当てはまりますが、これらの行を個別にコメントすると、rownum が無関係になり、クエリ全体が正常に機能するようになります (結果が論理的に異なるという事実を除いて)。
私は混乱しています。控えめに言って!!!
編集2:
上記のクエリの実行プランを追加する
編集3:
上記とまったく同じクエリですが、
節の場合、結果は期待どおりに取得されます。order by を使用しないこのクエリの PLAN は次のとおりです。
2 つのプランの唯一の実際の違いは、機能していないプランにはステップ 3 の後に次の 2 つの追加ステップがあることです。これらのステップは、順序付けなしではクエリに存在しないため、正常に機能しています。
予想どおり、ステップ 5 はデータの順序付けが行われるステップです。
ステップ 4 は、順序付けのために追加のビューが作成されている可能性があるようです。
これがrownumロジックの動作を妨げる理由は、私がまだ把握しようとしているものです。
どんな助けでも大歓迎です!!
編集 4 - 9i 環境からの元のクエリ プラン
sql - rownum に対する SQL クエリ
実行後、次のエラーが発生します。
なぜこのエラーが発生するのですか??
sql - rownum の両方の SQL クエリが異なる結果を出している理由
なぜ異なる結果が得られるのですか?これについては詳しい説明が欲しいです。
sql - これらの両方のクエリでパフォーマンスの向上に違いがあるのはなぜですか?
SELECT instmax,
r
FROM
(SELECT instmax,
rownum r
FROM
(SELECT instmax FROM pswlinstmax ORDER BY instmax DESC NULLS LAST
)
WHERE rownum <= 10
)
WHERE r >=6;
出力
SELECT instmax,
r
FROM
(SELECT instmax,
rownum r
FROM
( SELECT instmax FROM pswlinstmax ORDER BY instmax DESC NULLS LAST
)
)
WHERE r 6 ~ 10;
出力
両方のクエリでパフォーマンスが確実に向上していますか?これについて明確にしていただけますか?
oracle - 行自体の数量フィールドに基づいて複数の同一の行を返すにはどうすればよいですか?
オラクルを使用して、ショッピング アプリから明細項目を出力しています。各アイテムには、1 より大きい数量フィールドがあり、1 より大きい場合は、その行を N 回返したいと思います。
これが私がテーブルについて話していることです
そして、私は返すクエリを探しています
これは可能ですか?SQL Server 2005 のこの回答を見ました。Oracle でほぼ正確なものを探しています。残念ながら、専用の数値テーブルを作成することはできません。
postgresql - postgresql の Rownum
postgresql で rownum をシミュレートする方法はありますか?
sql - MS アクセスでクエリを使用して最初の n レコードのみを取得するにはどうすればよいですか
rownum のようなものを探しています