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

WHERE句でmysqlSUM()を使用する

    HAVING句での比較には集計のみを使用できます:

    GROUP BY ...
      HAVING SUM(cash) > 500
    

    HAVING 句では、GROUPBY句を定義する必要があります。

    以前のすべての現金の合計が特定の値よりも大きい最初の行を取得するには、次を使用します。

    SELECT y.id, y.cash
      FROM (SELECT t.id,
                   t.cash,
                   (SELECT SUM(x.cash)
                      FROM TABLE x
                     WHERE x.id <= t.id) AS running_total
             FROM TABLE t
         ORDER BY t.id) y
     WHERE y.running_total > 500
    ORDER BY y.id
       LIMIT 1
    

    集計関数はサブクエリで発生するため、その列エイリアスはWHERE句で参照できます。



    1. 今年の最初と最後の日付を取得するにはどうすればよいですか?

    2. Django cache.set()が重複キーエラーを引き起こしている

    3. コンポーネント全体をユーザーにインストールせずに、ODACを使用する.NETアプリケーションを展開するにはどうすればよいですか?

    4. SQLサーバーに制約が存在するかどうかを確認するにはどうすればよいですか?