問題タブ [window-functions]

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

sql - SQLの問題-最大日数シーケンスを計算する

訪問データの表があります。

ユーザーがアプリに何日続けてアクセスしたかを知りたい。たとえば、次のようになります。

戻ります:

5つのレコードと2つの間隔があります-3日(4月28日から30日)と2日(5月3日から4日)。

私の質問は、ユーザーがアプリに連続してアクセスした最大日数(例では3日)を見つける方法です。SQLドキュメントで適切な関数を見つけようとしましたが、成功しませんでした。私は何かが足りないのですか?


UPD: 皆さん、答えてくれてありがとう!実際、私はvertica分析データベース(http://vertica.com/)を使用していますが、これは非常にまれなソリューションであり、経験のある人はごくわずかです。SQL-99標準をサポートしていますが。

さて、ほとんどのソリューションはわずかな変更で機能します。最後に、独自のバージョンのクエリを作成しました。

したがって、今必要なのは、たとえば行インデックスなど、何らかの方法でそれらを結合することだけです。

サンプル出力:

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

sql - SQLを使用したグループおよびランクによる結果の識別

次の構造のテーブルがあります。

私がやりたいのは、あたりの面積を識別できるように値を要約することidですtimestamp。たとえば、最初のarea値が必要な場合は、次のようになります。

そして、私がそれareaごとidに2番目の値を取得したい場合は、次のようになります。

時間で並べ替えてから、あたりの最初の値を特定する必要があることを理解していますid。私はこれを行う方法をよく理解していません。私が試したことは次のとおりです(OVER関数の使用方法がまだ少し不明なため、実行されていません)。

rnk=2あたりの後続の面積値を取得するために、etcを使用することを計画していましたid

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

postgresql - ウィンドウ関数とより「ローカルな」集約

私がこのテーブルを持っているとしましょう:

最終的に私は取得したい:

しかし、私はこれを手に入れるのと同じくらい幸せです(私はそれをで簡単にフィルタリングできるのでdistinct):

PostgreSQL 9.1以降のウィンドウ関数でこれを実現することは可能ですか?このサンプルの最初と最後のオカレンスに別々のパーティションを使用できるかどうかを理解しようとしていk=aます(順序付けv)。

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

postgresql - PostgreSQL8.3でウィンドウ関数を実行するにはどうすればよいですか

herokuにデプロイするWebアプリを作成しました。PostgreSQL9.1.2を使用して作成しました。しかし、herokuの無料の共有データベースはpostgres8.3にすぎないようです。それらは9にアップグレードしています。近いうちに何かが発生しますが、それまでは、私のSQLクエリの1つが機能しません。それは:

PostgreSQL 8.3で動作するようにこれを書き直すことは可能ですか?

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

mysql - OrderBy句を使用したMySQLのランク関数

この(Oracle)SQLはどうすればよいでしょうか。

MySQLに翻訳されますか?

この質問は似ているようですが、基本クエリの最後にOrderByがありません。また、パーティションのフィールドによって順序付けられていることは重要ですか?

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

sql - 1 年以上にわたる日付範囲で各週に 1 つの行を選択するにはどうすればよいですか?

私の postgreSQL データベースには、日付と価格の列を持つテーブルがあります。('transdate' と 'price')

1 年以上にわたる日付範囲で、毎週 1 行を選択するクエリを作成したいと考えています。

ここでの別の質問/回答から、1年未満の日付範囲で機能するこのコードを実装しました:

ただし、間隔を 50 週間以上延長しても、最大 12 か月しか選択されません。

このコードを書き直して、範囲内の毎週から 1 つの日付/価格を選択するにはどうすればよいですか?

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

sql - テーブル内の同じ列の 2 つのレコードを減算する

私は PostgreSQL を使用しており、同じテーブルの 2 つのレコードを減算し、その結果を同じクエリで使用したいと考えています。

ここに表があります:

スコア

6
8
9


結果

6
2
1

私がしたいこと:

最後に、これらの結果の合計が必要です。sum(result)私の例では9でなければなりません。

0 投票する
10 に答える
626624 参照

sql - OracleのRANK()関数とDENSE_RANK()関数の違いは何ですか?

RANK()DENSE_RANK()関数はどう違いますか?emptbl次の表で n 番目の給与を調べる方法は?

テーブル データに がある場合、給与nullsを調べたい場合はどうなりますか?nth

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

postgresql - テーブルの3行ごとに合計

1分ごとにすべてのデータをカウントする次のクエリがあります。

私がする必要があるのは、各行のカウントと過去2分間のカウントの合計を取得することです。

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

postgresql - Heroku の PostgreSQL クエリを書き換える

overPostgreSQL (8.3.11) がキーワードを認識しない Heroku で動作するように書き直すのを手伝ってください。

「user_id」と「con_size_id」は「cons」テーブルから、「hspeed」は「summaries」からです。