统计数据库中的元素(很抱歉的冠军,我真的不知道如何短语:-))MySQL的基于有多少唯一值有在外地
我有了一个表日期和uid字段。
我需要获得UID的数量每个日期,目前我在做这在PHP运行多个查询,像这样的:
SELECT COUNT(uid) FROM users where Date = 'xxx';
有一个简单的办法只有一个SQL实现这一目标查询?
统计数据库中的元素(很抱歉的冠军,我真的不知道如何短语:-))MySQL的基于有多少唯一值有在外地
我有了一个表日期和uid字段。
我需要获得UID的数量每个日期,目前我在做这在PHP运行多个查询,像这样的:
SELECT COUNT(uid) FROM users where Date = 'xxx';
有一个简单的办法只有一个SQL实现这一目标查询?
by子句使用组:
SELECT Date, COUNT(uid) FROM users group by Date;
@ 0plus1:请注意,这不会计算唯一值,它会计算**所有**值。如果这是你想要的,你应该调整问题的标题来匹配。 – 2010-05-16 12:46:05
SELECT Date, COUNT(uid) FROM users GROUP BY Date
要计算的唯一值使用DISTINCT
数量:
SELECT COUNT(DISTINCT uid) AS cnt
FROM users
GROUP BY `Date`
如果你的列是一个日期时间,那么你应该使用DATE功能仅获取日期部分:
SELECT COUNT(DISTINCT uid) AS cnt
FROM users
GROUP BY DATE(`Date`)
你想计算唯一值还是总行数?您的标题和您的查询相互矛盾。或者在这张桌子上是“独一无二”的?在这种情况下,没有区别。 :) – 2010-05-16 11:21:57