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

sql-server-2005 - 別のテーブルフィールドの値の集計からのSQLServer2005計算列の結果

長い質問のタイトルでごめんなさい。

私はこれで敗者になっていると思いますが、チャンスはありません。

テーブル内の計算フィールドの計算を、別のテーブル内のフィールドに適用された集計関数の結果にすることは可能ですか。

すなわち

'mug'というテーブルがあり、これには'color'という子があります(これにより、英国の頭が痛くなりますが、ベンダーは米国からのものです。これから何をしますか?)、これには'という子があります。サイズ'。各テーブルには、soldというフィールドがあります。

size.soldは、販売された特定の色とサイズのマグカップごとに1ずつ増加します。

color.soldをSUMsize.soldの集合体にする必要がありますWHEREsize.colorid= color.colorid

mug.soldをSUMcolor.soldの集合体にする必要がありますWHEREcolor.mugid= mug.mugid

とにかくmug.soldとcolor.soldをうまく機能させる方法はありますか、それともトリガーをいじくり回す必要がありますか?

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

activerecord - ActiveRecord の各グループの最小値/最大値を取得する

これは、「タイプ」、「品種」、および「価格」属性を持つテーブルが与えられた場合に、存在する各タイプの最低価格でレコードを取得するという古くからの質問です。

SQL では、次の方法でこれを行うことができます。

おそらくこれを次のように模倣できます。

これよりも優れた実装はありますか?

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

sql - MySQL: N 行を選択しますが、1 つの列に一意の値しかありません

このデータセットを考えると:

私は 3 人の最年長者を見つける必要がありますが、すべての都市で 1 人だけです。

最年長の3人だけなら…

  • ヘンリー・ジョーンズ / シカゴ
  • マック・テイラー / ニューヨーク
  • エゴン・スペングラー / ニューヨーク

しかし、Egon Spengler と Mac Taylor はどちらもニューヨークにいるため、Egon Spengler はドロップアウトし、代わりに次のメンバー (Sarah Connor / Los Angeles) が入ってきます。

エレガントなソリューションはありますか?

アップデート:

現在、PConroy のバリエーションが最適/最速のソリューションです。

「IN」を使用した彼の元のクエリは、大きなデータセットでは非常に遅くなります (5 分後に中止されます) が、サブクエリを JOIN に移動すると、大幅に高速化されます。約0.15秒かかりました。テスト環境で 100 万行。「都市、誕生年」のインデックスと、「誕生年」だけのインデックスがあります。

注:これは関連しています...

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

sql - SQL関数のようなSum()を追加する代わりにマイナスにする方法

SQL ステートメントに group by 句があり、Sum() 関数のように追加するのではなく、集計関数を使用して各グループのすべての値を差し引く必要があります。

すなわち

..so は 2+1 を評価して 3 を返します。

1を返すために2-1を行う何らかの方法が必要です。

これが理にかなっていることを願っています。これを行う唯一の方法は、CLR 統合を使用して独自の集計関数を作成することです。

他のアイデアはありますか?

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

sql - SQL - select ステートメントの一部として集計関数 (min/max) を使用する

ヴィラ予約システムの最低価格と最高価格を返そうとしています。各ヴィラの毎週の価格を格納するルックアップ テーブルがあります。

選択内でこれを行うために最小関数と最大関数を使用していますが、多くの問題があります。誰が私が間違っているのか説明できますか? SPはこちら

AS BEGIN -- 余分な結果セットを防ぐために追加された SET NOCOUNT ON -- SELECT ステートメントに干渉します。NOCOUNT をオンに設定します。

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

mysql - MySQL: 集計関数でエイリアス フィールドを使用する

次のような SQL ステートメントがあります。

しかし、foo は別名であるため、MySQL はこれを許可しません。これを SQL で実現する方法を知っている人はいますか?

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

mysql - mySQL 列の一部のデータのインスタンス数のカウント

特定の URL がクリックされた回数に関する情報を保持する urltracker というテーブルが 1 つあります。このテーブルは、id、urlclicked、referrer、timestamp の 4 つの列で構成されています。urltracker は、URL がクリックされるたびにテーブルに別のエントリを作成します。

私がしたいのは、特定の URL とそれがクリックされた回数を表示することです。ユーザーはクリックして、この URL がクリックされた特定の回数をすべて明らかにすることで、データにドリルダウンできます。

私はSQLの専門家ではありませんが、最初にすべての個別のURLを表示し、その後にこの特定のURLのすべてのエントリを表示するサブクエリを表示する必要があるようです。

私はこれを考えるのが正しいですか、それとももっと簡単な方法がありますか?

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

sql - SQLiteのWHERE句の集計関数

簡単に言えば、特にタイムスタンプの列を含むテーブルがあります。最新の(つまり最大値の)タイムスタンプを持つ行を取得したい。現在、私はこれを行っています:

しかし、私はむしろこのようなことをしたいと思います:

ただし、SQLiteはこのクエリを拒否します:

ドキュメントはこの動作を確認しています(ページの下部):

集計関数は、SELECTステートメントでのみ使用できます。

私の質問は、selectを並べ替えたり、返される行の数を1に制限したりせずに、タイムスタンプが最大の行を取得するクエリを作成することは可能ですか?これは可能であるように思われますが、私のSQL-fuは嗅ぎまわっていないと思います。

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

sql - MySQL 合計列を追加

この DB にクエリを実行して各行を取得する必要がありますが、結果の列値の 1 つの SUM も取得する必要があります。php を使用して合計値を取得することもできますが、合計を取得するために 2 つのループを実行する必要があります (結果の上部に表示されます)。したがって、クエリでそれをキャッチして「合計」行を作成することをお勧めしますが、それを機能させる唯一の方法は、本質的に元のクエリの繰り返しであるサブクエリを使用することです。より良い方法はありますか?

上記は機能し、次のように出力されます。

これは私が必要とするものですが、おそらくそれを取得する最良の方法ではありません.

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

c# - LINQ to SQL:注文システムの複数のテーブルからのレポートの集合データを使用した複雑なクエリ

次のクエリをLINQ構文に変換したいと思います。私はそれを機能させるために管理するのに非常に苦労しています。実際にLINQから始めてみましたが、逆に書いた方が運が良かったかもしれません。

最終結果は、上記のように製品に関する情報を示す表になります。理解構文を使用して、このクエリをLINQ形式で作成するにはどうすればよいですか?

さらに、フィルターを追加したい場合があります(たとえば、orders_mainTableに)。

これは私が仕事をしようとした一例であり、かなり近いものでしたが、それが「正しい」方法であるかどうかはわかりません。また、orders_productsTableからサイズと色でグループ化できませんでした。

*編集:

私がやろうとしていることを理解できるようにもう少し明確にするために、ここにもう少し説明があります。

製品はproducts_mainTableに保存されます注文はorders_mainTableに保存されます注文された製品はorders_productsTableに保存されます

製品や注文などに基づいていくつかのレポートを作成し、データを掘り下げて、エンドユーザーに表示する意味のあるビットを見つけたいと思います。

この例では、ある期間に購入された製品のうち、最も人気のある製品を表示しようとしています。販売数、価格、注文あたりのブレイクアウトはどれくらいですか。おそらく最良の順序ではないかもしれませんが、私はただ実験してこれを選びました。

すべてのテーブルは他のテーブルと関係があります。したがって、製品テーブルから、その製品を注文した注文などを知ることができます。

私が抱えている最大の問題は、LINQがどのように機能するか、特にグループ化、集合体データ、拡張機能、サブクエリなどでどのように機能するかを理解することです。楽しかったですが、これを行う方法の詳細な説明を見つけるのが難しいため、イライラし始めています。