sql >> データベース >  >> RDS >> Mysql

MySQL:サブクエリの値の合計

    いくつかの提案:

    • seasonsに参加する 一度。結合により、左側のテーブルの行が複製されるため、sumで2回合計できます。 集計。疑わしい場合は、group byなしでクエリを実行してください 学校の例です。
    • サブクエリをinner_schools.id = outer_schools.idのような外部クエリに関連付ける必要があります
    • しかし、私が見る限り、サブクエリはまったく必要ありません

    例:

    SELECT  schools.*
    ,       sum(cashflows.amount) total_branding_cashflow
    FROM    schools
    JOIN    seasons
    ON      seasons.school_id = schools.id 
            and seasons.year = 2010
    JOIN    cashflows
    ON      cashflows.season_id = seasons.id 
            and cashflow_group_id = 12
    GROUP BY 
            schools.id 
    HAVING  total_branding_cashflow BETWEEN 50000000 AND 100000000
    

    複数のカテゴリの場合、ケースを使用できます:

    SELECT  schools.*
    ,       sum(case when cashflow_group_id = 1 then cashflows.amount end) total1
    ,       sum(case when cashflow_group_id = 12 then cashflows.amount end) total12
    FROM    schools
    JOIN    seasons
    ON      seasons.school_id = schools.id 
            and seasons.year = 2010
    JOIN    cashflows
    ON      cashflows.season_id = seasons.id 
    GROUP BY 
            schools.id 
    



    1. 多対多テーブル内多対多

    2. Postgres/PostgreSQLテーブルとそのインデックスのディスクサイズをどのように見つけますか

    3. AndroidでのSqliteストアドプロシージャの使用

    4. mysqlで日付から月を取得するにはどうすればよいですか