問題タブ [row-number]

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 投票する
3 に答える
17903 参照

oracle - Oracle ページング: 分析関数 ROW_NUMBER() VS ROWNUM

Web サイトでページングを行う必要がある場合... どちらの方法がより効果的ですか?

分析関数 - ROW_NUMBER()

ROWNUM

  • http://www.oracle.com/technetwork/issue-archive/2007/07-jan/o56asktom-086197.html
  • INMHO このアプローチは、より人間が読めるコードだと思います

    • 注: RANK および DENSE_RANK 分析関数があることは理解していますが、決定論的クエリをページングするだけでよいと仮定しましょう。

    • 注2:別の単純なクエリカウントを使用して考えているレコードの合計量を取得するには(*)

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

sql-server-2005 - ROW_NUMBER OVER 新しい列

row_number 内の新しい列で注文することは可能ですか? 私はこのようなことをしたいと思います:

しかし、そのようなソートは機能しません (ランダムな結果が得られます)。

0 投票する
1 に答える
7413 参照

sql - InformixのRow_number()関数

informationixにはSQLServerやOracleと同様の機能がありますrow_number()か?2つの値を使用してクエリを実行する必要がありますrow_number() betweenが、方法がわかりません。

これはSQLServerでの私のクエリです:

手助け?

0 投票する
3 に答える
50866 参照

sql - CTE、ROW_NUMBER、およびROWCOUNT

次のような1つのストアドプロシージャで、データのページとすべてのデータの行数を返そうとしています。

行数(最大行数)を返すことができません。

私はこれがすでに議論されていることを知っています(私はこれを見ました: row_numberを使用してクエリから@@ rowcountを取得する効率的な方法)が、CTEを追加するCOUNT(x) OVER(PARTITION BY 1)と、パフォーマンスが低下し、通常は時間がかからない上記のクエリは永遠にかかります実行する。行ごとにカウントが計算されるからだと思いますか?CTEを別のクエリで再利用できないようです。テーブルプロップには100kレコードがあり、CTEは5kレコードを返します。

0 投票する
3 に答える
4394 参照

sql - Postgres でユーザーごとに N 行ごとに選択する

私はこのSQL文を使用していました:

ただし、テーブルが新しい行を取得するたびに、クエリの結果は異なります。
何か不足していますか?

0 投票する
1 に答える
1170 参照

sql-server - row_number() またはネストされたサブクエリのない SQL Server ページネーション?

私は週末ずっとこれと戦っていて、アイデアがありません。Web サイトの検索結果にページを表示するには、SQL Server 2005 Express データベースから行のサブセットを返す必要があります (つまり、行 20 から開始して、次の 20 レコードを取得します)。MySQL では、「LIMIT」キーワードを使用して、開始する行と返す行数を選択します。

SQL Server で ROW_NUMBER()/OVER を見つけましたが、使用しようとすると「Over not supported」と表示されます。これは、SQL Server 2005 Express (無料版) を使用しているためだと考えています。これが本当かどうか、または OVER 句がサポートされない他の理由があるかどうか、誰でも確認できますか?

次に、次のような古い学校のバージョンを見つけました。

SELECT TOP X * FROM TABLE WHERE ID NOT IN (SELECT TOP Y ID FROM TABLE ORDER BY ID) ORDER BY IDここで、X = ページあたりの数、Y = 開始するレコード。

ただし、私のクエリは、多くの外部結合があり、メイン テーブルにあるもの以外の順序でより複雑になっています。たとえば、ユーザーが投稿した動画の数で並べ替える場合、クエリは次のようになります。

問題はサブクエリのSELECT 行にあります: TOP 100 iUserID, iVideoCount

「NOT IN」句を使用するには、サブクエリに1列しか持てないようです(「SELECT TOP 100 iUserID FROM ...」)。しかし、そのサブクエリの SELECT ステートメントに iVideoCount を含めないと、サブクエリの ORDER BY iVideoCount が正しく順序付けされないため、サブクエリが親クエリとは異なる順序で並べられ、このすべてが役に立たなくなります。順序付けに関与できる外部結合でリンクされた約 5 つのテーブルがあります。

私は途方に暮れています!上記の 2 つの方法は、SQL Server が行のサブセットを返すようにする唯一の 2 つの方法です。結果全体を返し、PHP の各レコードをループする準備が整いましたが、必要なものだけを表示します。それは非常に非効率的な方法であり、本当に私の最後の手段です.

上記のシナリオで SQL Server に MySQL の LIMIT 句を模倣させる方法についてのアイデアはありますか?

0 投票する
1 に答える
107 参照

sql - Sql Server 2008で、顧客ごとに出荷番号を付ける方法

2 つのテーブルがあります: 顧客 ------>> 出荷

たとえば、各出荷に顧客ごとに一意の番号を付けたい

など...

SQLサーバー2008でどうすればいいですか

0 投票する
1 に答える
83 参照

query-string - クエリ文字列: 新しく挿入されたデータベース行 (PHP) の行の ID を追加する方法は?

以下で行うように、最後に作成された行の番号を取得できます。さて、それを URL に追加しますか? 次のページでこの特定のレコードを使用できるようにクエリ文字列を変更します。これが私がやろうとしている方法です。フィールド iduserid が私の主キーです。ページのテキスト フィールドに挿入すると、正しい番号が表示されます。(注: LastRec は、現在の行の iduserid フィールドを含むレコード セットです)

ただし、クエリ文字列には何も返されません。どうしたの?

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

sql-server-2008 - ROW_NUMBER()でのSQLServer2008の並べ替え日

次のクエリはエラーメッセージを生成します

どこ

パラメータとして渡されます。

エラー :

varcharデータ型を日時データ型に変換すると、値が範囲外になりました。

0 投票する
1 に答える
479 参照

sql - Rownumber() はレポートでサポートされていませんか?

次のクエリがあります (これは tablevalued 関数によって返されます)

次に、次のように SSRS にデータセットを入力します。

select RowNumber,ClientHId,FirstName,LastName from fuctionClient

ここまでは順調ですね。今、並べ替えまたは表示に RowNumber 列を使用しようとしています。並べ替えようとすると、SSRS エラーが表示されます: "unsopported datatype exception"Tablix で表示しようとすると、行番号#errorの代わりに表示されます。Visual Studio の intellisense は、整数、文字列、文字... のみがサポートされていると言います。しかし、Row_Number 関数は整数を返します! 私はcast as integerrownumberでやろうとしていましたが、それでも役に立ちません。誰も同じ問題を経験しましたか? ClinetHid - HierarchyId