考虑以下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
我做错了什么?
答案 0 :(得分:3)
SELECT user_id, COUNT(*) FROM table GROUP BY user_id;
顺便说一下,还有好奇心:
SELECT user_id, SUM(1) FROM table GROUP BY user_id
两者都会为您提供所需的输出。
答案 1 :(得分:1)
试试这个:
SELECT user_id,COUNT(user_id)as cnt FROM table GROUP BY user_id
答案 2 :(得分:1)
SELECT user_id, count(user_id) as total FROM temp group by user_id;
查询产生了这个。
user_id total
-------------
1 2
2 1
3 4