首页 > 解决方案 > SQLite3 count 有多少个数?

问题描述

我正在学习 SQLite3 并且遇到了这个特定输出的问题。假设我有一个类似的专栏:

user0
user1
user1
user2
user2
user3
user3
user3
user4
user4
user4
user4

我想计算用户出现在列中的次数,并输出如下:

1 | 1
2 | 2
1 | 3
1 | 4

含义:有1个用户出现1次,2个用户出现2次,1个用户出现3次,1个用户出现4次。

我不需要知道其他任何事情,只知道有多少用户有多少帐户。

标签: databasesqlitecount

解决方案


group by一次得到你需要的第一列的计数器,然后再次得到这个结果:

select count(*) total, counter
from (
  select count(*) counter 
  from tablename
  group by col
)
group by counter

查看演示
结果:

| total | counter |
| ----- | ------- |
| 1     | 1       |
| 2     | 2       |
| 1     | 3       |
| 1     | 4       |

推荐阅读