考虑以下 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
我究竟做错了什么?
考虑以下 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
我究竟做错了什么?
SELECT user_id, COUNT(*) FROM table GROUP BY user_id;
顺便说一句,还有好奇心:
SELECT user_id, SUM(1) FROM table GROUP BY user_id
两者都会给你你想要的输出。
尝试这个:
SELECT user_id, COUNT(user_id) as cnt FROM table GROUP BY user_id
SELECT user_id, count(user_id) as total FROM temp group by user_id;
查询产生了这个。
user_id total
-------------
1 2
2 1
3 4