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

mysql - グループあたりの最新の N レコードの平均

私の現在のアプリケーションは、各ユーザーのすべてのレコードに基づいてポイント平均を計算します。

ビジネス要件が変更されたため、各ユーザーの最新の 30 件のレコードに基づいて平均を計算する必要があります。

関連するテーブルの構造は次のとおりです。

テーブル: プレイヤー; 列: player_id、user_id、match_id、ポイント

テーブル: ユーザー; 列: user_id

次のクエリは機能しませんが、実装しようとしているロジックを示しています。

各ユーザーの最新の 30 件のレコードに基づいて平均を計算するかなり効率的な方法はありますか?

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

mysql - group 内の各グループを制限する

これは以前に何度か尋ねられたことを理解していますが、かなり長い間、特定の問題にさまざまな既存のソリューションを適用しようとしましたが、成功しませんでした。それで、私は何らかのガイダンスを期待してここに来ます。

別のテーブルのさまざまな質問にリンクされた回答を含む tblanswers というテーブルがあります。私が望むのは、特定の質問 ID の各回答のカウントを取得することですが、毎月最初の n 件の回答に制限します。

tblanswers からのサンプル データ:

これは私がこれまでに持っているクエリです:

それは私に次のようなものを与えるでしょう: (サンプルデータの日付と数字は正確ではありません)

1 か月に最初の 3 つの回答のみを表示したい場合、count が 3 を超えることはありません。毎月制限するにはどうすればよいですか?

最終的なデータは、次のように各回答の合計になります。

これらのソリューションの 1 つが機能すると思いますが、どのように機能しないか: http://code.openark.org/blog/mysql/sql-selecting-top-n-records-per-group http://code.openark.org/ blog/mysql/sql-selecting-top-n-records-per-group-another-solution

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

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

sql - アイテムごとに一定量の結果を取得するための SQL クエリ

C# の代わりに sql を使用してリストを生成するより良い方法を探しています。それは私が間違っているほど簡単に思えます

Number/City/State を含む PhoneNumbers というテーブルがあるとします。

例 (数百万の数):

各州から 10 個の電話番号を返すクエリが必要です

現在、50州すべてに対して個別にクエリを実行し、それらをデータセットに結合していますが、それは大きなデータベースなので遅いです.必要なデータを引き出す簡単な方法があることを願っています.

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

sql - SQLite - 長さでソートされた 5 つの異なるグループの上位 10

グループごとに最大の nタグを使用して多くの質問を読みましたがUNION ALL、この SQL クエリのトリックよりも優れた解決策を見つけることができません。

5 つの異なるグループ ( GRP01%GRP04%GRP12%GRP15%、およびGRP20% )から最長の 10 個のジョブを選択したいと考えています。

私はSQLiteを使用しています。および列
の要素は、 ISO 8601 形式です。各ジョブの長さを計算してから、 グループごとに計算します。StartEnd
(strftime('%s', End) - strftime('%s', Start)) as LengthORDER BY Length DESC LIMIT 10

このクエリを (SQLite を使用して) 実行する最も簡単で優れた方法を知っていますか?

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

php - Laravel: hasMany() と take() は最初の結果でのみ機能します

私は以下のモデルを持っています。

この例では、ユーザーは 1,000 件のコメントを持つことができます。私はそれらを最初の10個だけに制限しようとしています.私はUserモデルでそれをやってみました

UserControllerクロージャーを介して

どちらの方法も、結果の最初のレコードでのみ機能するようです。これを処理するより良い方法はありますか?

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

android - Android - SQLite 異なる各列値の最初の N 個のオカレンスを選択します

「タイトル」、「アーティスト」、「ランキング」の 3 つの列を持つ SQL テーブル「曲」があるとします。

ランキング順で各アーティストの最初の N 行 (たとえば 2 行) だけを返す SELECT クエリを作成したいと考えています。アーティスト列で GroupBy を使用すると、各アーティストの 1 行が返されることは承知していますが、このシナリオでは次のように 2 行が必要です。

可能であれば、queryBuilder を使用して Android 内でこれを構築することをお勧めします。これは、取得できた限り近いものです。

関連する質問を見てきましたが、このシナリオに適用する方法を見つけることができませんでした.これを達成する方法についての指示をいただければ幸いです.

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

sqlite - SQLITE から各チームの最初の N 勝者を選択する方法は?

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

チーム数は多く(約30チーム)、各チームには多くのメンバーがいます(実質10,000レコード以上)。次のように、各チームの最初の N 人の勝者を取得したいだけです (簡略化のため、この例では N=3 です)。

同じチームでのスコアによってランク付けされます。

sqlite3クエリを使用してこの結果を取得するには? 誰でも手がかりを与えることができますか?どうもありがとう。

ところで、「名前」フィールドは一意ではなく、(チーム、名前) のみが一意です。つまり、同じ名前が異なるチームに表示される可能性があります。

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

sql - SQL : 各値の最大出現回数

属性 MAC_ADDR、IP_SRC、IP_DST、URL、PROTOCOL を含む非常に単純なテーブル (LOG) があります。PROTOCOL='DNS' の場合、IP_SRC、URL、#OfOccurrences を含む最初のn行を、テーブル内の IP_SRC ごとに #OfOccurrences を減らして並べ替えます。

より明確にするために、テーブル内の IP_SRC ごとに、最も訪問された最初のnページをリストできるようにしたいと考えています。

次のように、IP_SRC ごとに最も訪問された URL を取得できます。

ただし、このソリューションは明らかに最適化されていません。

これはより実用的なコードです (各 IP_SRC の最も訪問された URL 用):

この 2 番目のオプションは、はるかに高速です。しかし、IP_SRC ごとにn 個の最も訪問されたページが必要ですが、その方法がわかりません。

ご協力いただきありがとうございます。