2016-04-12 22 views
1

SELECT ... COUNT() ... GROUP BY AndroidのSQLiteデータベースで2列(月とタイプ)のリクエストがあります。私でし以下の要求に:1列に複数の列で結果をまとめるグループ - Android SQLite

select Month, Type, Count() 
from MyTable 
group by Month, Type 

私の問題は、私は、カーソルを使ってAndroidのリストビューで結果を表示したいということです。各月の

  • 1行
  • (固定数と既知数)のタイプの数。

多分何かのように:

select Month, Count(Type = A), Count(Type = B), Count(Type = C) 
from MyTable 
group by Month 

データベース

Month | Type 
-------- --------- 
Feb 15 | A 
Feb 15 | B 
Dec 15 | A 
Dec 15 | A 
Dec 15 | B 
Dec 15 | C 

期待される結果

Month | 'COUNT(A)' | 'COUNT(B)' | 'COUNT(C)' 
-------- -------------- --------------- ------------- 
Feb 15 | 1   | 1   | 0 
Dec 15 | 2   | 1   | 1 

は、そのPOSSですible?

答えて

1
select 
month, 
sum(case when "Type" = 'A' then 1 else 0 end) as "count(a)", 
sum(case when "Type" = 'B' then 1 else 0 end) as "count(b)", 
sum(case when "Type" = 'C' then 1 else 0 end) as "count(c)" 
from 
mytable 
group by 
month 
関連する問題