問題タブ [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.
sql - 最大でグループ化
symb ごとの最大株主数の symb と価格を取得しようとしています。たとえば、価格が $60.62 の ASN の行は 1 つだけです。
sql - SQL 複合キー クエリ
これを再度参照するにはSQL products/productsales
主キーが 1 列ではなく 2 列で構成されている場合、どのようにすればよいでしょうか?
したがって、products には PK として 2 つの列があり、productsales には FK として 2 つの列があります。
1列のキーを使用したソリューションは次のとおりです。
postgresql - postgresql の "list" 集計を変更して重複を削除する
私のお気に入りの postgres 集約の 1 つは「list」です。これは、Web 上で見つけられるわずかな証拠によると、「idocs の Chris Rohlfs」によるものです。
重複を排除したいことが時々あります。古いメーリング リストのスレッドでは、このアプローチでは並べ替えができないことが示唆されています。同じスレッドの別の投稿では、同じことを行う関数が提案されています。多分それはこの目的のためにもっと修正可能ですか?
それまでの間、別の言語で出力をマッサージします。しかし、postgres で直接これを行うことができれば素晴らしいことです!
sql - 最初の文字でグループ化
Oracle SQL のクエリに問題があります。
テーブルにfirst_name
列がありemployees
ます。の最初の文字に従ってレコードをグループ化したいfirst_name
。
たとえば、26 個のレコードがあり、1 つはname = 'Alice'
、もう 1 つはname = 'Bob'
、というように、各名前の最初の文字のアルファベットが続きます。クエリの後、それぞれ 1 人の従業員を持つ 26 のグループが存在するはずです。
次のことを試しましたが、うまくいきません。
sql - SQL MIN() および GROUP BY による追加フィールド
SQL MIN() 関数を GROUP BY と共に使用する場合、追加の列 (MIN 列または GROUP BY 列の 1 つ以外) は、一致する MIN 行のデータと一致しますか?
たとえば、部署名、従業員名、および給与を含むテーブルがあるとします。
明らかに、最低給与と部門という 2 つの適切な列が得られます。従業員名 (およびその他の従業員フィールド) は同じ行から取得されますか? つまり、MIN(給与)の行ですか?
同じ (そして最も低い) 給与の従業員が 2 人存在する可能性が高いことはわかっていますが、(現在) 関心があるのは、最も安い従業員(または1 人の) に関するすべての情報を取得することだけです。
これは最も安いセールスマンを選ぶでしょうか?
基本的に、MIN() 関数とともに返されるデータが、その最小値を持つ(または単一の) レコードと一致することを確認できますか?
データベースが重要な場合は、MySql を使用しています。
google-app-engine - GQL は、一般的に利用可能な SQL スタイルの集計をサポートしていますか?
私が探しているのは、SQL のバージョンで広く利用できる単純な集計関数です。
シンプルなものSelect Count(*) from table1
はより複雑なものが好きです。
これらが利用可能な場合、私に指摘できるドキュメントはありますか?
ありがとう - ギギー
sql-server-2005 - SQL関数を集約して、各グループから最初の関数のみを取得します
AccountテーブルとUsersテーブルの2つのテーブルがあります。各アカウントは複数のユーザーを持つことができます。これらの2つのテーブルに対して単一のクエリ/結合を実行したいシナリオがありますが、すべてのアカウントデータ(Account。*)と最初のユーザーデータのセット(具体的には名前)のみが必要です。
集約されたグループで「最小」または「最大」を実行する代わりに、「最初」を実行したかったのです。しかし、明らかに、TSQLには「最初の」集計関数はありません。
このクエリを取得する方法について何か提案はありますか?明らかに、アカウントxユーザーのデカルト積を取得するのは簡単です。
しかし、User.IDの順序に基づいて、製品から最初のユーザーのみを取得するにはどうすればよいでしょうか。
sql - SQL AVG(COUNT(*))?
値が列に表示される平均回数を調べ、別の列に基づいてグループ化し、計算を実行しようとしています。
私はこのような3つのテーブルを持っています
等
基本的に、貸し出しテーブルに表示されるすべてのコピー ID を、その DVD のすべてのコピーの平均回数より少ない回数で見つけようとしています。
上記の例では、DVD 1 のコピー 5 が 3 回表示され、コピー 2 が 2 回表示され、コピー 1 が 1 回表示されるため、その DVD の平均は 2 です。 Loan テーブルのその番号。
それがもう少し理にかなっていることを願っています...
ありがとう
sql - 関連するレコードをグループ化しますが、最初のレコードのみから特定のフィールドを選択します
共通の ID でグループ化された複数のレコードに対して集計関数を実行しています。問題は、グループ化されたレコード内で異なる可能性がある他のフィールドもエクスポートしたいのですが、レコードの 1 つ (クエリの ORDER BY に従って最初のフィールド) から特定のフィールドを取得したいことです。
出発点の例:
紹介コードを照会する必要がありますが、集計関数の外でそれを行うということは、そのフィールドでもグループ化する必要があることを意味します。これは私が望んでいることではありません。この例では、顧客ごとに正確に 1 つの行が必要です。私は本当に最初の注文からの紹介コードだけを気にします.それ以降の紹介コードは喜んで破棄します.
これは PostgreSQL にありますが、他の DB の構文が十分に類似している可能性があります。
拒否されたソリューション:
- 順序が重要なため、max() または min() は使用できません。
- サブクエリは最初は機能するかもしれませんが、スケーリングしません。これは非常に縮小された例です。私の実際のクエリには、最初のインスタンスのみが必要な referral_code のような数十のフィールドと、サブクエリで重複するとメンテナンスの悪夢になる数十の WHERE 句があります。
reporting-services - SSRS: グループ内の最後のアイテムのみを含む合計を作成する方法
rdlc レポート ファイルがあり、各グループの最後の項目のみを含む合計を作成しようとしています。次のようなテーブルがあります。
言い換えれば、User
そこに、合計が必要Date
です...もしそれが理にかなっているなら...
Number
行には ごとに多くの数値が含まれていますDate
。ただしDate
、残りはカウントされないため (ただし、表示する必要があるため)、その日の最後の数字のみを表示します (ただし、表示する必要があります)User
そのユーザーのすべての日付の最後の数字を合計したいと思います。そして同じPlace
です(これは、すべてのユーザーの毎日の最後の数字の合計になります)。
誰でもこれで私を助けることができますか?私は(少なくとも私には)明らかなことを試しました=Sum(Last(Fields!Number.Value))
が、(これらの関数でグループを指定しようとしましたが、違いはありませんでした)コンパイルしようとするとエラーが発生します:
テキストボックス 'numberTextbox' の値式には、別の集計関数 (または RunningValue) への引数に集計関数 (または RunningValue または RowNumber 関数) が含まれています。集計関数は、他の集計関数内にネストできません。
どちらが理にかなっていると思います...しかし、どうすればこれを行うことができますか?
更新:別の列を追加し、最後の数字をその列にコピーすることで問題を解決しました。このようにして、すべての数値を表示し、合計される数値のみを含む列で合計を行うことができます。誰かが私の元の問題の解決策を持っているかどうか、私はまだ非常に興味があります...もしそうなら、答えを投稿してください!