問題タブ [dense-rank]

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

sql - RでSQLランク関数をエミュレートする方法は?

ROW_NUMBER()Oracle 、RANK()、またはDENSE_RANK()(「順序に応じて行に整数値を割り当てる」; http://www.orafaq.com/node/55を参照)のようなランク関数に相当する R は何ですか?

各機能の機能は、アドホックな方法で実現できる可能性があることに同意します。しかし、私の主な関心事はパフォーマンスです。メモリと速度のために、結合またはインデックス アクセスを使用しないことをお勧めします。

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

sql - SQLクエリ複数のランク/グループから最初のランク1行を選択

私は以下のデータを持っています

表1

以下は評価するためです-

IDごとに1行だけを返したいのですが、col1が失敗した場合はcol2に移動し、失敗した場合はcol3条件に移動します。上記の表から、結果は次のようになります。

密なランクを使ってみましたが、うまくいきませんでした。使用可能な関数またはSQLロジックを使用してこのロジックを実行する方法がわかりません。

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

sql-server-2008 - SQL Server:別の列の順序に基づいて1つの列でdense_rankを使用する方法

SQL Server 2008にテーブルがあり、1つの列、た​​とえば列に交互の値が必要ですalt。その列の重複には常に同じ値が必要なので、 %2を介しdense_rankてこの列の関数を使用することを考えていました。alt

ただし、そのテーブルには郵便番号もあり、交互の値を割り当てる前にデータを並べ替える必要があります。

したがって、基本的に、列に基づく交互の値altが割り当てられた後、データが郵便番号で並べ替えられると、交互の値は実際に交互になる必要があります(もちろん「alt」テーブルの重複は別として)。

現在、alt値が交互の値を取得するという結果が得られますが、郵便番号で並べ替えると、dense_rank関数を介してたとえば0,0,0のシーケンスが問題になります。

一時テーブルを使用してみましたが、期待した結果が得られませんでした。

次に、一時テーブルの順序が保証されていないため、そのテーブルでdesk_rankを実行します。

どんなアイデアでも大歓迎です!

乾杯、ステボ

編集:

サンプルコード:

ここでの問題は、郵便番号で並べ替えると、次の列の両方に交互の値と同じ値(0)が含まれることです。郵便番号で並べ替えると、結果は実際には交互の値になるはずですが、これらの交互の値は、BaseForAlternatingValue列に基づいている必要があります。

期待される結果は次のとおりです。

最後の2つの結果行の最後のAlternatingValueは異なります。AlternatingValueは異なる郵便番号を交互に使用する必要があります。前は、最後から3番目の行が0で、最後から2番目の行が0でした。

以下のMikaelの質問については、「行を追加した場合はどうなりますか('cccccccccc'、 '12345')。その場合、期待される出力はどうなりますか?」

その場合、期待される出力は次のようになります。

要約すると、BaseForAlternatingValue列に交互の値が必要ですが、郵便番号で注文すると、この交互の値が表示されるはずです。(そしてBaseForAlternatingValueの重複には、同じ「代替」値が必要です)

--------------------------------

結局、私はより単純で比較的優れた解決策を見つけました:1)ID値に挿入して順序付けする一時テーブルを使用し、id値を使用します(id値はorder by句を反映します)2)指定されたBaseForAlternatingValueの最小IDを見つけます3)それよりも小さいIDを持つ個別のBaseForAlternatingValuesの数を見つける

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

sql - TSQLで隣接する行を比較するシーケンス番号を生成する

隣接する行でグループ名が変更されたときにシーケンス番号を生成するのに助けが必要です。DENSE RANKを試しましたが、うまくいきませんでした。

ありがとう

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

sql - DENSE_RANK と IN の奇妙な動作

DENSE_RANK()への入力を生成するために次を含むクエリを組み合わせると、奇妙な結果が発生します。IN

それらを分離したことを示すために。

このクエリ

1 つの結果を返します:

このクエリ

1 つの結果も返します。

ただし、両方を組み合わせると:

最終的に 2 つの結果が得られます。

G002MIMQ結果にどのように含まれるか理解できません。私は Oracle 11.2.0.1.0 を使用していますが、これは私が誤解している一般的な SQL 機能である可能性があることを理解しています。

この奇妙な問題に光を当てていただければ幸いです。

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

sql-server - SQL Server で Dense_Rank を使用したランク付きの列のランキングの組み合わせ

データを次のように持っているという要件があります

このような出力を取得したい

レコードをランク​​付けするときに、 DepartmentNumberUserEmailの組み合わせを考慮したいと考えています。これを達成するためにパーティションでDENSE_RANK()を使用していますが、どういうわけか目的の出力を得ることができません。どこが間違っているのかわかりません。誰でもこれで私を助けてくれませんか

これは私が使用したクエリです

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

sql - 雇用テーブルのSQLクエリ.

私の従業員テーブルには3つの列があります:

  • emp_id
  • emp_sal
  • dept_id.

部門ごとに、給与が最も高い従業員を見つける必要があります。私は戻る必要がありemp_id、それらの従業員のために。emp_saldept_id

前もって感謝します

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

sql - MS Access: アップデートでdense_rankを使用

さまざまなランクのスコアを含むランキング テーブルがあります。

更新前:

更新後:

UPDATE同様に使用するクエリを作成しようとしましたDENSE_RANKが、それを機能させる方法がわかりませんでした。

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

sql - 各日の最高売上を取得する SQL クエリ

次のデータを含むテーブルSaleがあります

次のような結果が必要です。

どんな助けでも大歓迎です。ありがとう!

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

sql - 範囲比較のためにレコードを選択

私はこれに夢中です。純粋なSQLでそれができたらいいのにと思いますが、この時点ではどのソリューションでもかまいません。

ほぼ同時に発生したイベントのリストを含むテーブルがありますta。目標は、 onから「孤立した」レコードを見つけることです。例えば:tbtatb

しかし、+-5 秒のしきい値を使用する必要があるとしましょう。したがって、検索するクエリは次のようになります。

(フィドル: http://sqlfiddle.com/#!4/b58f7c/5 )

ルールは次のとおりです。

  • イベントは 1 対 1 でマッピングされます
  • tb特定のイベントに最も近いイベントtaが正しいマッピングと見なされます。

つまり、結果のクエリは次のようなものを返す必要があります

私がここに置いたサンプルクエリは、私が抱えている問題を正確に示しています。時間が重なると、体系的に正しい行を選択することが難しくなります。

dense_rank()正しい行を選択するための答えのようですが、どのパーティショニング/ソートがそれらを正しく配置しますか?

言及する価値がありますが、私はこれを Oracle 11gR2 で行っています。