0

特定の列の合計がゼロの場合に結果が取得されるSQLクエリを作成したいと思います。私は以下のように試しました:(この部分だけにエラーが発生するため、チェック部分のみを記述しました)。

query=.... WHERE SUM(column1)='0'

coumn1 のデータ型は整数です。次のエラーが表示されます。

java.sql.SQLException: Invalid use of group function
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)

どんな助けでも大歓迎です。ありがとう。

4

2 に答える 2

3

あなたのクエリは間違っています。havingのような集計関数を使用する場合は、句を使用する必要がありますsum()

WHERE キーワードは集計関数では使用できないため、SQL に HAVING 句が追加されました。

SELECT の MySql ドキュメントを見てください。

WHERE 句が指定されている場合は、行が選択されるために満たさなければならない条件を示します。where_condition は、選択される行ごとに true と評価される式です。WHERE 句がない場合、ステートメントはすべての行を選択します。

WHERE 式では、集計 (集計) 関数を除き、MySQL がサポートする任意の関数と演算子を使用できます。

于 2013-07-28T07:51:01.577 に答える