問題タブ [aggregate-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 投票する
6 に答える
953 参照

sql - 最大でグループ化

symb ごとの最大株主数の symb と価格を取得しようとしています。たとえば、価格が $60.62 の ASN の行は 1 つだけです。

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

sql - SQL 複合キー クエリ

これを再度参照するにはSQL products/productsales

主キーが 1 列ではなく 2 列で構成されている場合、どのようにすればよいでしょうか?

したがって、products には PK として 2 つの列があり、productsales には FK として 2 つの列があります。

1列のキーを使用したソリューションは次のとおりです。

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

postgresql - postgresql の "list" 集計を変更して重複を削除する

私のお気に入りの postgres 集約の 1 つは「list」です。これは、Web 上で見つけられるわずかな証拠によると、「idocs の Chris Rohlfs」によるものです。

重複を排除したいことが時々あります。古いメーリング リストのスレッドでは、このアプローチでは並べ替えができないことが示唆されています。同じスレッドの別の投稿では、同じことを行う関数が提案されています。多分それはこの目的のためにもっと修正可能ですか?

それまでの間、別の言語で出力をマッサージします。しかし、postgres で直接これを行うことができれば素晴らしいことです!

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

sql - 最初の文字でグループ化

Oracle SQL のクエリに問題があります。

テーブルにfirst_name列がありemployeesます。の最初の文字に従ってレコードをグループ化したいfirst_name

たとえば、26 個のレコードがあり、1 つはname = 'Alice'、もう 1 つはname = 'Bob'、というように、各名前の最初の文字のアルファベットが続きます。クエリの後、それぞれ 1 人の従業員を持つ 26 のグループが存在するはずです。

次のことを試しましたが、うまくいきません。

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

sql - SQL MIN() および GROUP BY による追加フィールド

SQL MIN() 関数を GROUP BY と共に使用する場合、追加の列 (MIN 列または GROUP BY 列の 1 つ以外) は、一致する MIN 行のデータと一致しますか?

たとえば、部署名、従業員名、および給与を含むテーブルがあるとします。

明らかに、最低給与と部門という 2 つの適切な列が得られます。従業員名 (およびその他の従業員フィールド) は同じ行から取得されますか? つまり、MIN(給与)の行ですか?

同じ (そして最も低い) 給与の従業員が 2 人存在する可能性が高いことはわかっていますが、(現在) 関心があるのは、最も安い従業員(または1 人の) に関するすべての情報を取得することだけです。

これは最も安いセールスマンを選ぶでしょうか?

基本的に、MIN() 関数とともに返されるデータが、その最小値を持つ(または単一の) レコードと一致することを確認できますか?

データベースが重要な場合は、MySql を使用しています。

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

google-app-engine - GQL は、一般的に利用可能な SQL スタイルの集計をサポートしていますか?

私が探しているのは、SQL のバージョンで広く利用できる単純な集計関数です。

シンプルなものSelect Count(*) from table1はより複雑なものが好きです。

これらが利用可能な場合、私に指摘できるドキュメントはありますか?

ありがとう - ギギー

0 投票する
12 に答える
66206 参照

sql-server-2005 - SQL関数を集約して、各グループから最初の関数のみを取得します

AccountテーブルとUsersテーブルの2つのテーブルがあります。各アカウントは複数のユーザーを持つことができます。これらの2つのテーブルに対して単一のクエリ/結合を実行したいシナリオがありますが、すべてのアカウントデータ(Account。*)と最初のユーザーデータのセット(具体的には名前)のみが必要です。

集約されたグループで「最小」または「最大」を実行する代わりに、「最初」を実行したかったのです。しかし、明らかに、TSQLには「最初の」集計関数はありません。

このクエリを取得する方法について何か提案はありますか?明らかに、アカウントxユーザーのデカルト積を取得するのは簡単です。

しかし、User.IDの順序に基づいて、製品から最初のユーザーのみを取得するにはどうすればよいでしょうか。

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

sql - SQL AVG(COUNT(*))?

値が列に表示される平均回数を調べ、別の列に基づいてグループ化し、計算を実行しようとしています。

私はこのような3つのテーブルを持っています

基本的に、貸し出しテーブルに表示されるすべてのコピー ID を、その DVD のすべてのコピーの平均回数より少ない回数で見つけようとしています。

上記の例では、DVD 1 のコピー 5 が 3 回表示され、コピー 2 が 2 回表示され、コピー 1 が 1 回表示されるため、その DVD の平均は 2 です。 Loan テーブルのその番号。

それがもう少し理にかなっていることを願っています...

ありがとう

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

sql - 関連するレコードをグループ化しますが、最初のレコードのみから特定のフィールドを選択します

共通の ID でグループ化された複数のレコードに対して集計関数を実行しています。問題は、グループ化されたレコード内で異なる可能性がある他のフィールドもエクスポートしたいのですが、レコードの 1 つ (クエリの ORDER BY に従って最初のフィールド) から特定のフィールドを取得したいことです。

出発点の例:

紹介コードを照会する必要がありますが、集計関数の外でそれを行うということは、そのフィールドでもグループ化する必要があることを意味します。これは私が望んでいることではありません。この例では、顧客ごとに正確に 1 つの行が必要です。私は本当に最初の注文からの紹介コードだけを気にします.それ以降の紹介コードは喜んで破棄します.

これは PostgreSQL にありますが、他の DB の構文が十分に類似している可能性があります。

拒否されたソリューション:

  • 順序が重要なため、max() または min() は使用できません。
  • サブクエリは最初は機能するかもしれませんが、スケーリングしません。これは非常に縮小された例です。私の実際のクエリには、最初のインスタンスのみが必要な referral_code のような数十のフィールドと、サブクエリで重複するとメンテナンスの悪夢になる数十の WHERE 句があります。
0 投票する
3 に答える
26025 参照

reporting-services - SSRS: グループ内の最後のアイテムのみを含む合計を作成する方法

rdlc レポート ファイルがあり、各グループの最後の項目のみを含む合計を作成しようとしています。次のようなテーブルがあります。

言い換えれば、Userそこに、合計が必要Dateです...もしそれが理にかなっているなら...

Number行には ごとに多くの数値が含まれていますDate。ただしDate、残りはカウントされないため (ただし、表示する必要があるため)、その日の最後の数字のみを表示します (ただし、表示する必要があります)Userそのユーザーのすべての日付の最後の数字を合計したいと思います。そして同じPlaceです(これは、すべてのユーザーの毎日の最後の数字の合計になります)。

誰でもこれで私を助けることができますか?私は(少なくとも私には)明らかなことを試しました=Sum(Last(Fields!Number.Value))が、(これらの関数でグループを指定しようとしましたが、違いはありませんでした)コンパイルしようとするとエラーが発生します:

テキストボックス 'numberTextbox' の値式には、別の集計関数 (または RunningValue) への引数に集計関数 (または RunningValue または RowNumber 関数) が含まれています。集計関数は、他の集計関数内にネストできません。

どちらが理にかなっていると思います...しかし、どうすればこれを行うことができますか?


更新:別の列を追加し、最後の数字をその列にコピーすることで問題を解決しました。このようにして、すべての数値を表示し、合計される数値のみを含む列で合計を行うことができます。誰かが私の元の問題の解決策を持っているかどうか、私はまだ非常に興味があります...もしそうなら、答えを投稿してください!