問題タブ [greatest-n-per-group]

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

sql - 列の最大値を持つ行を取得します

テーブル:

UserId、各 UserId の max(Date) の値を取得したい。つまり、最新の日付を持つ各 UserId の値です。これを単純に SQL で行う方法はありますか? (できればオラクル)

更新:あいまいさをお詫びします: すべての UserId を取得する必要があります。ただし、UserId ごとに、そのユーザーが最新の日付を持つ行のみです。

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

sql - 各グループの上位結果を取得 (Oracle)

Oracle クエリで複数のグループに対して N 個の結果を取得するにはどうすればよいでしょうか。

たとえば、次の表があるとします。

より多くの職業を持つさらに多くの行があります。各職業から 3 人の従業員 (たとえば) を取得したいと考えています。

サブクエリを使わずにこれを行う方法はありますか?

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

mysql - MySQL クエリ: JOIN の制限

結合したいテーブルが 2 つあるとします。カテゴリー:

そしてアイテム:

カテゴリと最初の (そして最初のみの) itemname を返すクエリが必要です。

そして、次のようなランダムな結果を得る方法はありますか:

ありがとう!

0 投票する
14 に答える
572396 参照

sql - 各カテゴリの上位 10 レコードを選択

1 つのクエリで各セクションから上位 10 件のレコードを返したいと考えています。誰でもそれを行う方法を手伝ってもらえますか? セクションは、テーブル内の列の 1 つです。

データベースは SQL Server 2005 です。入力した日付の上位 10 件を返したいと考えています。セクションは、ビジネス、ローカル、および機能です。ある特定の日付について、上位 (10) のビジネス行 (最新のエントリ)、上位 (10) のローカル行、および上位 (10) の機能のみが必要です。

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

mysql - MySQLでの配列スライシング/group_concatの制限

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

明らかSELECT a, GROUP_CONCAT(b SEPARATOR ',') GROUP BY aに私に与えるだろう

しかし、たとえば2のように、限られた数の結果のみを取得したい場合はどうなりますか。

何か案は?

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

mysql - MySQL - 各 WHERE_IN 問題に対するトリッキーな LIMIT

私は次のことをしようとしています (疑似コードを参照)。gd.id (7、11、または 9) ごとに 4 行を選択したいと考えています。limit を誤って使用したのは、合計で 4 行しか表示されないためです。私の目標を達成するためにこのクエリを変更する方法について誰か考えがありますか?

ありがとうございました!

ps おそらく何らかのタイプの group_by ですか?

0 投票する
9 に答える
47537 参照

sql - SQL の別の列の各値の最も一般的な値を取得する

次のようなテーブルがあります。

そして、国ごとに、最も頻繁に食べられる食べ物を取得したいと考えています。私が考えることができる最高のもの(私はpostgresを使用しています)は次のとおりです。

最後のステートメントでは、GROUP BY と max() は、2 つの異なる食品のカウントが同じである同点を解消するために必要です。

これは、概念的に単純なものの場合、多くの作業のように思えます。それを行うためのより簡単な方法はありますか?

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

sql - 基準ごとの制限

私は記事テーブルとカテゴリテーブルを持っています。カテゴリごとに 7 つの記事を取得したいと考えています。現在、私はこれを持っていますが、大きなテーブルでは非常に遅いため、実際には解決策ではありません:

Explain を使用すると、結合タイプ ALL & REF を実行していることがわかります。選択タイプは PRIMARY および DEPENDENT SUBQUERY です。

より良い解決策はありますか?

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

sql - SQLの複雑なJoinステートメントについてサポートが必要

スパース日付間のギャップが前のスパース日付の値をとるように、スパース数の日付を持つテーブルと完全な数の日付を持つ別のテーブルをどのように結合できますか?

実例:

望ましい結果:

アップデート:

数人の人々が、望ましい結果を達成する相関サブクエリを提案しました。(相関サブクエリ=外部クエリへの参照を含むサブクエリ。)

これは機能します。ただし、使用しているプラ​​ットフォームはMySQLであり、相関サブクエリの最適化が不十分であることに注意してください。相関サブクエリを使用せずにそれを行う方法はありますか?

0 投票する
7 に答える
101724 参照

mysql - mysql テーブルから最新の日付付きレコードのセットを選択する方法

次のフィールドを持つ mysql テーブルに、さまざまな rpc 呼び出しへの応答を保存しています。

methodとのすべての既存の組み合わせに対して最新の応答を選択する最良の方法は何idですか?

  • 日付ごとに、特定のメソッド/ID に対して 1 つの応答しか存在できません。

  • 特定の日付にすべての呼び出しの組み合わせが存在するとは限りません。

  • 数十のメソッド、数千の ID、少なくとも 365 の異なる日付があります

サンプルデータ:

望ましい結果:

(これは同じ質問ではないと思います-最新のものは得られませんresponse