2012-05-01 4 views
2

私はSQLiteを使用しています。SQLite上のフラグ付き行数

私は私がGROUP BY意志

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

を使用する場合はフラグが付けられた行

id No 
1 1 
2 2 
3 0 

の数を与える必要がありますクエリを作成する必要があり、単純なテーブル

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

を持っていますid = 3は無視してください。

どうすればよいですか?

答えて

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; 
+0

をおそらく(表1 [フラグ]) 'に変更= true'には、私はこれを持ち上げた'(表1 [フラグ]。)= 'y'' ... –

+0

@sixfeetsixへ元の郵便物のサンプルからの状態であり、それが動作すると仮定した。もちろん、条件付きで遊んでいる人が必要かもしれないことに同意します。この回答は、自分の作業ソリューションを構築する際にOPを助けることを意図したガイドラインにすぎません。 – dasblinkenlight

+0

はい私は今、ごめんなさい、それは、どのように ''y'tが'真 'になるのか分かりません。 –

関連する問題