1

考虑以下 MySQL 表:

user_id
-------
1
1
2
3
3
3
3

我想要一个输出:

user_id  cnt
-------------
1        2
2        1
3        4

我虽然这会发生这种情况,但它不会:

SELECT user_id, COUNT(1) FROM table GROUP BY user_id

我究竟做错了什么?

4

3 回答 3

3
SELECT user_id, COUNT(*) FROM table GROUP BY user_id;

顺便说一句,还有好奇心:

SELECT user_id, SUM(1) FROM table GROUP BY user_id

两者都会给你你想要的输出。

于 2012-07-19T19:06:57.743 回答
1

尝试这个:

SELECT user_id, COUNT(user_id) as cnt FROM table GROUP BY user_id

于 2012-07-19T19:08:37.163 回答
1
SELECT user_id, count(user_id) as total FROM temp group by user_id; 

查询产生了这个。

user_id  total
-------------
1        2
2        1
3        4
于 2012-07-19T19:10:41.223 回答