問題タブ [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 投票する
2 に答える
1965 参照

rownum - GROUP BY、ORDER BY クエリ後の仮想列の自動インクリメント

これを投稿する前に、自動インクリメントについて広範な調査を行いましたが、同様のケースが見つかりませんでした:

メインテーブルからデータを取得し、player_id でグループ化し、ポイント desc で並べ替えて、ランキング出力を作成するクエリがあります。私の目的は、同じクエリを作成することです。データの集計と並べ替えが完了したら、新しい列「ランク」を作成し、1、2、3 などを表示するように自動インクリメントします。

みんなありがとう。

ソーステーブルの例:

player_id-----------ポイント-----

---1---------------------5----------

---1-------10---------

---1-------5---------

---2-------------------20---------

---2-------------------5---------

この例に従った望ましい出力:

ランク------player_id-------スコア-----

---- 1 ----------2 -----------25 ポイント ----------

---- 2 ----------1-----------20 ポイント ----------

編集

Rownum はうまく機能します。自動インクリメント仮想列は必要ありません! 以下のMutnowskiの受け入れられた回答を参照してください。

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

django - Django ランキング ソリューション

「スコア」と「ID」で科目を並べ替える単純なランキングシステムを構築しようとしています。私はもともと、SQL で「rownum」変数を設定し、次のように「Rank」を呼び出すことで、これを PHP で構築しました。

クエリセットからインデックスを作成することもできますが、その方法もわかりません。Djangoでこれを達成する方法について何か考えはありますか?

モデル:

前もって感謝します!

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

oracle - ORA-03113 ファイル通信の終わり

約 1 分後に通信で ORA-03113 のファイルの終わりを与える VB6 から rownum を使用して長いクエリ (多くのサブクエリを持つ) を実行しています。Toad からのクエリは正常に実行されます。同じクエリが ROWNUM なしで VB6 から実行されると、クエリは正常に機能します。また、これはパラメーター化されたクエリです。パラメーターを削除してクエリに直接値を入力すると、vb6 からクエリを実行しても問題が発生します。

このクエリは、数日前に問題なく実行されていました。今はそうではありません。

接続タイムアウトを増やしてみましたが、それでも 1 分後にエラーが発生します。誰が問題の可能性があるかを提案できますか?

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

multithreading - Oracleでの内部Nの選択が遅い

最近問題が発生しました。Oracle DBからバッチでデータのテーブルを取得したかったのですが、バッチはたとえば4〜5000です。私の以前の「一般的な」解決策は、selectを次のようなものにラップすることでした。

rownumの境界が高い場合(たとえば、4-500.000)、選択に10〜20秒以上かかるため、遅いように見えます。そして、値を増やすにつれて、時間は直線的に増加しています。もちろん、その理由はわかっているので、データをバッチで取得するための別のソリューションを見つけたいと思いましたが、時間枠は保証されていました。それで、私はこの種の選択を使用しました:

これは少し遅いですが(テスト用のデータのバッチを取得するのに3〜4秒かかりました)、パフォーマンスの低下を目立たせることなくバッチサイズを増やすことができ、高い値でも同じになります。現在の問題は、DBから複数のスレッドの複数のテーブルから選択し、3つのスレッドを使用するとパフォーマンスが低下することです(現在プロジェクトで使用されている16については説明していません)。JDBC接続はプールされ、パフォーマンスの低下はサーバー側にあります。選択がCPU時間を消費しているので、私は何もできないことは明らかだと思いますが、これを最適化するためのヒントを皆さんに知ってもらいたいと思います。

もう1つの問題は、使用するツールがプロジェクト固有ではなく、可能な限り一般的である必要があるため、たとえばコピーテーブルなどを使用できないことです。

事前に回答ありがとうございます

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

oracle11gr2 - Oracleのrownumで設定された行の値を更新します

データベースのバージョン: Oracle 11gr2、私のテーブルは次のようなものです:

私の予想される更新は次のようなものです:

ただし、更新ビューでは分析関数は使用できません。

間違いなく、ORA-01732 が発生します。更新クエリを入力するにはどうすればよいですか?

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

sql - Oracle Rownum キャスト

MS-SQL サーバーのリンク サーバー経由でアクセスされる複雑なビューを作成しようとしています。私が抱えている問題は、クエリが ROWNUM を使用して ROWID を生成することです。

生成された ROWID のデータ型は NUMBER ですが、これが問題を引き起こしているようです。これを NUMBER (ここにサイズを挿入) に変換できれば問題ありません。しかし、これが可能かどうかはわかりません。

完全なクエリ名と列名 (作業制約) を与えることはできませんが、SQL Developer のクエリから返された列の型は次のとおりです。

列の種類

問題は、返された ROWNUM のデータ型が NUMBER(20) または同様の長さではなく、数値であることに集中していると思います。このクロスオーバーは、リンク サーバー エラーに関して私が見ている問題ですが、誰かが異なることを知っている場合はお知らせください;)

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

database - rownum を使用した Oracle ビューのパフォーマンス

私は Oracle 10g を使用しており、2 つの大きなテーブル (数百万のレコード) を結合するビューがあります。次のように、ユーザーのデータの限られた「サンプル」を選択しようとしています。

これは非常に遅く、そうすべきではないと思います。結果の数行が必要なだけなので、Oracle は完全な結合を計算するべきではありません。

要件は、返される行の数をユーザーが対話的に指定できる必要があることです (結果の行が正確にどれであるかは問題ではありません)。これを達成する方法はありますか?(rownum または別のメソッドを使用)

(ビューの定義や最終的な SQL の作成方法を変更することはできますが、私の知る限り、必要な行数に関する情報をビューに動的に渡すことはできません)

編集: ビューの定義は非常に単純で、次のようになります。

説明計画では、最初の数行を返すだけで時間がかからないため、驚くべきことではありませんが、両方のテーブルへの完全なテーブル アクセスについて言及しています。

EDIT2:これが完全な計画です

0 投票する
0 に答える
412 参照

performance - jqGrid フリーズ行ヘッダー (rownum)

グリッドのrownum列をフリーズしようとしています。行番号のテキストを意味のある行の説明に置き換えたためです。
jqgrid 凍結列のデモから助けを得ました。しかし、rownum列ではうまくいきません。私のグリッドはローカル配列データをロードし、バージョン jQgrid 4.3.2 を使用してから、プロパティで最初の列をフリーズする別のアプローチを試みました

そして、私は以下の問題を抱えています:

  • グリッドの読み込みが非常に遅くなる (IE、Firefox でテスト済み)
  • ページが読み込まれるまでしばらく待つと、行ヘッダーの配置が歪んでしまいます。すべての行ヘッダーが 1 つ上にシフトされ、キャプション div とオーバーラップします。

Row1Header は Caption の場所に入ります - Row2Header は Row1 に入ります。

私の究極の要件は、行ヘッダーを凍結することです。どんな助けでも大歓迎です。

ありがとう

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

sql - 別のテーブルで見つかった値に基づいて、ms access データベースから可変数の行を取得しています

この問題の解決策を考え出すために一日中費やしましたが、まだ手がかりがありません:

私は1つのテーブルユーザーに次のフィールドを持っています:

  • ID
  • 名前
  • city_id
  • スコア

そして、別のテーブルcityには2 つのフィールドがあります。

  • ID
  • ユーザー数

私がしなければならないことは、city の users_number フィールドで指定されているように users テーブルから一番上の行を取得することですが最初、フェッチされた行をスコアで並べ替えます。ユーザー数が users_number で指定された値をはるかに超えています。

私の質問は:

基準がテーブル都市の行数であるテーブルユーザーから選択する可能性はありますか?

ありがとうございました

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

sql - Oracleはrownumを評価する前にすべての行をフェッチしますか?

何百万ものレコードを持つテーブルがあります。

Oracleが最初の一致を見つける限り、Oracleが検索を停止することを確認したいと思います。

Oracleはcolumn1とcolumn2の条件を満たすすべての行をフェッチし、rownumフィルターのみを適用して最初の行を取得するため、目的が果たせないという話を聞きました。