如何在sqlite中统计每个不同值的重复数量?

66

我有一张表:

ref,type
1,red
2,red
3,green
4,blue
5,black
6,black

我希望 sqlite 查询的结果如下所示:
red,2
green,1
blue,1
black,2

我认为最困难的事情就是找到一个与我的问题相匹配的问题。而一旦找到,答案就在转角处等着我... :)
2个回答

129

我在Google上快速搜索了"sqlite3计算唯一值",找到了这篇文章。但是,我想要计算所有唯一值的总数,而不是每个类别中有多少重复值。

从克里斯的结果表格中,我只想知道有多少个唯一颜色。正确答案是四[4]。

可以使用以下方法实现:select count(DISTINCT type) from table;


1
你能否提供一个最佳使用此查询的示例?它会是这样的:long count = DatabaseUtils.longForQuery(db, "select count(DISTINCT type) from table", null); - ban-geoengineering
2
@Bhoom,count(DISTINCT type) 是我今天要找的。 - Ashwin Kanjariya
不是问者所要求的,因为没有获得赞同,但恰好是我需要的,谢谢!同时,我将列名别名为 total,像这样:select count(distinct type) as total from table - ABCD.ca
这不是问题所要求的内容。 - Wes
这不是问题所问的。这是离题的。 - undefined
我不确定我应该把这个解决方案放在哪里。但我猜来到这里并点赞的大多数人并不是真的在寻找原帖作者的问题,而只是想要使用sqlite3找到唯一计数。那我是不是应该删除这个回答呢? - undefined

72

3
谢谢,伙计。你在Google搜索了什么? - Chris Denman
8
SQLite计算重复行数。就这么简单。 - Håvard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接