当我想选择带有2个字段的查询并且该字段是唯一ID时我有问题然后我尝试创建这样的表
created_at user_id
2013-01-05 1
2013-01-20 1
2013-01-23 2
2013-01-28 1
2013-02-01 3
2013-02-04 2
看起来任何user_id都不是唯一的,created_at也不是唯一的,所以我创建了这个代码的查询选择
SELECT MONTH( created_at ) AS month
, count( user_id ) AS total
FROM applies where YEAR(created_at) = 2013
GROUP BY month
这是结果
month total
1 4
2 2
在1月份(1)实际上我有3个用户,但仍然显示4个用户,因为计数不唯一user_id
如何将user_id
过滤为唯一?
答案 0 :(得分:2)
不计算重复的user_id
使用DISTINCT
关键字:
SELECT MONTH(created_at) AS Month
,COUNT(DISTINCT User_id) AS Total
FROM Table1
GROUP BY MONTH(created_at)
结果:
| MONTH | TOTAL |
-----------------
| 1 | 2 |
| 2 | 2 |