問題タブ [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.
sql - 列の最大値を持つ行を取得します
テーブル:
UserId、各 UserId の max(Date) の値を取得したい。つまり、最新の日付を持つ各 UserId の値です。これを単純に SQL で行う方法はありますか? (できればオラクル)
更新:あいまいさをお詫びします: すべての UserId を取得する必要があります。ただし、UserId ごとに、そのユーザーが最新の日付を持つ行のみです。
sql - 各グループの上位結果を取得 (Oracle)
Oracle クエリで複数のグループに対して N 個の結果を取得するにはどうすればよいでしょうか。
たとえば、次の表があるとします。
より多くの職業を持つさらに多くの行があります。各職業から 3 人の従業員 (たとえば) を取得したいと考えています。
サブクエリを使わずにこれを行う方法はありますか?
mysql - MySQL クエリ: JOIN の制限
結合したいテーブルが 2 つあるとします。カテゴリー:
そしてアイテム:
カテゴリと最初の (そして最初のみの) itemname を返すクエリが必要です。
そして、次のようなランダムな結果を得る方法はありますか:
ありがとう!
sql - 各カテゴリの上位 10 レコードを選択
1 つのクエリで各セクションから上位 10 件のレコードを返したいと考えています。誰でもそれを行う方法を手伝ってもらえますか? セクションは、テーブル内の列の 1 つです。
データベースは SQL Server 2005 です。入力した日付の上位 10 件を返したいと考えています。セクションは、ビジネス、ローカル、および機能です。ある特定の日付について、上位 (10) のビジネス行 (最新のエントリ)、上位 (10) のローカル行、および上位 (10) の機能のみが必要です。
mysql - MySQLでの配列スライシング/group_concatの制限
私がテーブルを持っているとしましょう:
明らかSELECT a, GROUP_CONCAT(b SEPARATOR ',') GROUP BY aに私に与えるだろう
しかし、たとえば2のように、限られた数の結果のみを取得したい場合はどうなりますか。
何か案は?
mysql - MySQL - 各 WHERE_IN 問題に対するトリッキーな LIMIT
私は次のことをしようとしています (疑似コードを参照)。gd.id (7、11、または 9) ごとに 4 行を選択したいと考えています。limit を誤って使用したのは、合計で 4 行しか表示されないためです。私の目標を達成するためにこのクエリを変更する方法について誰か考えがありますか?
ありがとうございました!
氷
ps おそらく何らかのタイプの group_by ですか?
sql - SQL の別の列の各値の最も一般的な値を取得する
次のようなテーブルがあります。
そして、国ごとに、最も頻繁に食べられる食べ物を取得したいと考えています。私が考えることができる最高のもの(私はpostgresを使用しています)は次のとおりです。
最後のステートメントでは、GROUP BY と max() は、2 つの異なる食品のカウントが同じである同点を解消するために必要です。
これは、概念的に単純なものの場合、多くの作業のように思えます。それを行うためのより簡単な方法はありますか?
sql - 基準ごとの制限
私は記事テーブルとカテゴリテーブルを持っています。カテゴリごとに 7 つの記事を取得したいと考えています。現在、私はこれを持っていますが、大きなテーブルでは非常に遅いため、実際には解決策ではありません:
Explain を使用すると、結合タイプ ALL & REF を実行していることがわかります。選択タイプは PRIMARY および DEPENDENT SUBQUERY です。
より良い解決策はありますか?
sql - SQLの複雑なJoinステートメントについてサポートが必要
スパース日付間のギャップが前のスパース日付の値をとるように、スパース数の日付を持つテーブルと完全な数の日付を持つ別のテーブルをどのように結合できますか?
実例:
望ましい結果:
アップデート:
数人の人々が、望ましい結果を達成する相関サブクエリを提案しました。(相関サブクエリ=外部クエリへの参照を含むサブクエリ。)
これは機能します。ただし、使用しているプラットフォームはMySQLであり、相関サブクエリの最適化が不十分であることに注意してください。相関サブクエリを使用せずにそれを行う方法はありますか?
mysql - mysql テーブルから最新の日付付きレコードのセットを選択する方法
次のフィールドを持つ mysql テーブルに、さまざまな rpc 呼び出しへの応答を保存しています。
methodとのすべての既存の組み合わせに対して最新の応答を選択する最良の方法は何idですか?
日付ごとに、特定のメソッド/ID に対して 1 つの応答しか存在できません。
特定の日付にすべての呼び出しの組み合わせが存在するとは限りません。
数十のメソッド、数千の ID、少なくとも 365 の異なる日付があります
サンプルデータ:
望ましい結果:
(これは同じ質問ではないと思います-最新のものは得られませんresponse)