問題タブ [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.

0 投票する
6 に答える
4344 参照

oracle - OracleROWNUM疑似列

groupby句とorderby句を使用した複雑なクエリがあり、すべての行で返される並べ替えられた行番号(1 ... 2 ...(n-1)... n)が必要です。ROWNUM(クエリの述語フェーズを通過した後、クエリが並べ替えまたは集計を行う前に値が行に割り当てられる)を使用すると、並べ替えられていないリスト(4 ... 567 ... 123 ... 45)が得られます。 ...)。各行に番号を数えたり割り当てたりするためのアプリケーションを使用できません。

0 投票する
5 に答える
37122 参照

sql - Oracle データベースでは、ROWNUM と ROW_NUMBER の違いは何ですか?

ROWNUMとはどう違いROW_NUMBER ますか?

0 投票する
4 に答える
3121 参照

sql - サブクエリのrownum

なぜこれが機能しないのか疑問に思っていました:

これ+ TBL.Rownumはなぜエラーになります
か?

アウロに挨拶

0 投票する
4 に答える
3073 参照

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 実装の更新を調べてみましたが、実際に役立つものは何も見つかりませんでした。

編集:- デバッグを行っているときに、意味をなさないものに遭遇しました。それなしでは説明できないので、以下にクエリ全体を入れています。

最も内側のサブクエリの *** で囲まれた行を参照してください。

  1. クエリからこの行にコメントを付けると、クエリは正常に機能します。

    AND PEM.ENDORSEMENT_STATUS = '投稿'

  2. クエリからこの行にコメントを付けても、他のすべてが元から変更されていない場合、クエリも正常に機能します

    1ASCで注文

rownum に関連する以前のポイントは引き続き当てはまりますが、これらの行を個別にコメントすると、rownum が無関係になり、クエリ全体が正常に機能するようになります (結果が論理的に異なるという事実を除いて)。

私は混乱しています。控えめに言って!!!

編集2:

上記のクエリの実行プランを追加する

編集3:

上記とまったく同じクエリですが、

節の場合、結果は期待どおりに取得されます。order by を使用しないこのクエリの PLAN は次のとおりです。

2 つのプランの唯一の実際の違いは、機能していないプランにはステップ 3 の後に次の 2 つの追加ステップがあることです。これらのステップは、順序付けなしではクエリに存在しないため、正常に機能しています。

予想どおり、ステップ 5 はデータの順序付けが行われるステップです。

ステップ 4 は、順序付けのために追加のビューが作成されている可能性があるようです。

これがrownumロジックの動作を妨げる理由は、私がまだ把握しようとしているものです。

どんな助けでも大歓迎です!!

編集 4 - 9i 環境からの元のクエリ プラン

0 投票する
5 に答える
4146 参照

sql - rownum に対する SQL クエリ

実行後、次のエラーが発生します。

なぜこのエラーが発生するのですか??

0 投票する
2 に答える
805 参照

sql - rownum の両方の SQL クエリが異なる結果を出している理由

なぜ異なる結果が得られるのですか?これについては詳しい説明が欲しいです。

0 投票する
2 に答える
154 参照

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;

出力

代替テキスト

両方のクエリでパフォーマンスが確実に向上していますか?これについて明確にしていただけますか?

0 投票する
2 に答える
10415 参照

oracle - 行自体の数量フィールドに基づいて複数の同一の行を返すにはどうすればよいですか?

オラクルを使用して、ショッピング アプリから明細項目を出力しています。各アイテムには、1 より大きい数量フィールドがあり、1 より大きい場合は、その行を N 回返したいと思います。

これが私がテーブルについて話していることです

そして、私は返すクエリを探しています

これは可能ですか?SQL Server 2005 のこの回答を見ました。Oracle でほぼ正確なものを探しています。残念ながら、専用の数値テーブルを作成することはできません。

0 投票する
8 に答える
183788 参照

postgresql - postgresql の Rownum

postgresql で rownum をシミュレートする方法はありますか?

0 投票する
2 に答える
8317 参照

sql - MS アクセスでクエリを使用して最初の n レコードのみを取得するにはどうすればよいですか

rownum のようなものを探しています