MySQLは、州ごとの合計を年ごとに合計します

Colin93

私はこれを何時間も遊んでいて、私が望む結果を得ることができません。これが私が問題を抱えているクエリです:

    SELECT year.year, dstate,
   (SELECT sum(amount) FROM gift 
      WHERE year.year = gift.year 
      AND gift.donorno = donor.donorno)
    FROM donor, gift, year
      WHERE year.year = gift.year 
      AND gift.donorno = donor.donorno;

これは冗長なようです。とにかく、各州の寄付総額(gift.amount)を年ごとに表示しようとしています。

ex.
1999 GA 500 (donorno 1 from GA donated 200 and donorno 2 from GA donated 300)
1999 FL 400
2000 GA 600
2000 FL 500
...

寄付者が同じ州から来ている可能性があることを明確にするために、私はそれが寄付された年のその州の贈り物の金額を合計しようとしています。アドバイスをいただければ幸いです。答えは目の前にあるような気がします。

参考までに表の写真を次に示します。 表図

マイクD。

これは非常に単純な結合と集約の問題です。

SELECT y.year, d.state, SUM(g.amount) AS total
FROM gift AS g
INNER JOIN year AS y ON y.year=g.year
INNER JOIN donor AS d ON d.donorno=g.donorno
GROUP BY y.year, d.state

合計金額を取得するために、SELECT句にサブクエリを含める必要はありません。グループ化することで合計できます。(このGROUP BY句はあなたが見逃しているものだと思います。それを読むことをお勧めします。)あなたが行ったことは相関サブクエリと呼ばれ、計算する必要があるため、大きなデータセットでは非常に遅くなります。集合演算としてではなく、行ごとに。

また、古いスタイルのコンマ結合構文は使用しないでください。代わりに、上記の明示的な結合構文を使用してください。それははるかに明確であり、偶発的なデカルト積を回避するのに役立ちます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

SQL Server:行を年ごとに合計し、行の値に、現在の年の場合は「current」、昨年の場合は「previous」という名前を付けます。

分類Dev

MySQLはグループごとに最後のX行を合計します

分類Dev

MySQLはグループごとに最後のX行を合計します

分類Dev

両方の年に請求書が存在する場合、年ごとに合計を取得します

分類Dev

SQLクエリは、その年の各月ごとの合計データを計算して表示します

分類Dev

年ごとの項目を合計し、合計を入力する方法 - R

分類Dev

ファイルサイズを年月ごとに合計し、印刷時に年ごとの合計を含めます

分類Dev

SQLは行ごとに合計を取得します

分類Dev

合計を計算し、次に行ごとの合計のパーセンテージを計算します

分類Dev

リストのxts要素を行ごとに合計します

分類Dev

リストのxts要素を行ごとに合計します

分類Dev

pandas MultiIndexDataFrameのレベルごとに列を合計します

分類Dev

awkは特定のグループを列ごとに合計します

分類Dev

パンダは特定のクラスごとに行を合計します

分類Dev

mysqlで四半期レポートを生成し、年の各四半期ごとに合計する方法

分類Dev

句ごとに2つの列の合計を計算します-laravel

分類Dev

PHPの日付ごとに列の合計を計算します

分類Dev

mysqlは、問題ごとに2つのテーブルを合計してカウントします

分類Dev

月、年、または日ごとに値を集計します

分類Dev

Python PandasDataframe-2週間ごとに値の合計を計算します

分類Dev

列ごとのカテゴリ年齢表示合計を計算して作成します

分類Dev

Stataは年ごとの変化率を計算します

分類Dev

特定の年ごとに列のすべての-/ +値を合計する

分類Dev

行ごとに列の値を合計し、合計のx%に達する列を取得します

分類Dev

Power BIDAXの年ごとの合計

分類Dev

2行ごとに合計を計算し、合計が特定の値よりも小さい場合は、それらを別の値に置き換えます

分類Dev

年ごと、社会保障番号ごと、雇用主ごとに最も高いシーケンス番号の税額の合計を取得する必要があります

分類Dev

合計mongodbの条件ごとに、合計期日と現在の日付を比較しますか?

分類Dev

mysqlグループごとに合計IFを計算する

Related 関連記事

  1. 1

    SQL Server:行を年ごとに合計し、行の値に、現在の年の場合は「current」、昨年の場合は「previous」という名前を付けます。

  2. 2

    MySQLはグループごとに最後のX行を合計します

  3. 3

    MySQLはグループごとに最後のX行を合計します

  4. 4

    両方の年に請求書が存在する場合、年ごとに合計を取得します

  5. 5

    SQLクエリは、その年の各月ごとの合計データを計算して表示します

  6. 6

    年ごとの項目を合計し、合計を入力する方法 - R

  7. 7

    ファイルサイズを年月ごとに合計し、印刷時に年ごとの合計を含めます

  8. 8

    SQLは行ごとに合計を取得します

  9. 9

    合計を計算し、次に行ごとの合計のパーセンテージを計算します

  10. 10

    リストのxts要素を行ごとに合計します

  11. 11

    リストのxts要素を行ごとに合計します

  12. 12

    pandas MultiIndexDataFrameのレベルごとに列を合計します

  13. 13

    awkは特定のグループを列ごとに合計します

  14. 14

    パンダは特定のクラスごとに行を合計します

  15. 15

    mysqlで四半期レポートを生成し、年の各四半期ごとに合計する方法

  16. 16

    句ごとに2つの列の合計を計算します-laravel

  17. 17

    PHPの日付ごとに列の合計を計算します

  18. 18

    mysqlは、問題ごとに2つのテーブルを合計してカウントします

  19. 19

    月、年、または日ごとに値を集計します

  20. 20

    Python PandasDataframe-2週間ごとに値の合計を計算します

  21. 21

    列ごとのカテゴリ年齢表示合計を計算して作成します

  22. 22

    Stataは年ごとの変化率を計算します

  23. 23

    特定の年ごとに列のすべての-/ +値を合計する

  24. 24

    行ごとに列の値を合計し、合計のx%に達する列を取得します

  25. 25

    Power BIDAXの年ごとの合計

  26. 26

    2行ごとに合計を計算し、合計が特定の値よりも小さい場合は、それらを別の値に置き換えます

  27. 27

    年ごと、社会保障番号ごと、雇用主ごとに最も高いシーケンス番号の税額の合計を取得する必要があります

  28. 28

    合計mongodbの条件ごとに、合計期日と現在の日付を比較しますか?

  29. 29

    mysqlグループごとに合計IFを計算する

ホットタグ

アーカイブ