如何按特定列计算sqlite组中每个项目的计数

时间:2014-07-17 11:07:34

标签: android sqlite count group-by

假设我有一个带有人名和地点的android sqlite数据库 喜欢:

名称 | 国家/地区 |的年龄

Sam |加拿大| 22

萨拉|巴西| 25

杰克|英国| 20

安娜|巴西| 29

杰西卡|英国| 20

史蒂夫|英国| 31

赛琳娜|巴西| 20

沙基|英国| 27

我希望每个国家/地区都有人数

喜欢这个

英国4

巴西3

加拿大1

如何查询?!

我查询了这个

Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null,KEY_CITY, null, null); 

但它只显示DISTINCT country没有计数

感谢

2 个答案:

答案 0 :(得分:1)

试试这个:

SELECT country, COUNT(*) FROM table WHERE country IN ('UK', 'Brazil', 'Canada') GROUP BY country

答案 1 :(得分:0)

你可以做到

Cursor cursor = ourDatabase.query(DATABASE_TABLE, new String[]
                {
                   KEY_CITY
                }, KEY_CITY+ " = 'UK'", null, null, null, null);

int persons = cursor.getCount();

这将在UK列中显示KEY_CITY次出现次数。