3 つの列を持つテーブルがあり、以下のクエリを機能させたいと考えていました。
SELECT col1, COUNT(col2=0), AVG(col3) FROM table GROUP BY col1;
私が達成しようとしているのは、列1でグループ化していて、結果の各行で次のことをしたいということです
- col1
- col1 でグループ化された col2=0 のカウント、つまり、col1 でグループ化された col2==0 のテーブルの行数をカウントしたい
- col1 でグループ化された col3 の平均
しかし、これはうまくいくと思っているのでうまくいきません。
COUNT(DISTINCT col2) は、各グループに存在する個別の col2 の数をカウントします。必要なのは、各グループでゼロである col2 の数です。
上記のクエリを使用すると、等価性のない通常の COUNT が得られます。