2

私はSQLiteを使用しています。

シンプルなテーブルがあります

id  flag     
1   y   
2   y   
1   n   
2   y   
3   n   

フラグが立てられた行の数を示すクエリを作成する必要があります

id No
1  1
2  2
3  0

私が使用する場合

    SELECT  Table1.ID as ID, Count(Table1.id) AS No
    FROM Table1
    WHERE (((Table1.[flag])=True))
    GROUP BY ID;

これGROUP BYは id=3 を無視します。

私に何ができる?

4

1 に答える 1

2

あなたはほとんどそこにいます: の代わりにCOUNTを使用し、句を条件としてその中にSUM移動します。where

これはうまくいくはずです:

SELECT  Table1.ID as ID, SUM(case when (Table1.[flag])=True then 1 else 0 end) AS No
FROM Table1
GROUP BY ID;
于 2012-05-01T10:02:34.127 に答える