[英]MySQL: Count the distinct rows per day including 0
这里的主要问题有一个很好的答案: MySQL:每天计算不同的行
我需要它的日子也包括值,但查询
SELECT DATE(timestamp) Date, COUNT(DISTINCT ipNum) totalCOunt
FROM tableName
WHERE totalCOunt < 1
GROUP BY DATE(timestamp)
给出一个错误(#1064-您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以获取正确的语法,以在第3行的'WHERE totalCOunt <1 LIMIT 0,25'附近使用)。 我哪里做错了?
此处的示例数据: http : //sqlfiddle.com/#!2/11aa6/146
您有一些错误:
Date
应转义,因为它是MySQL中的关键字。 AS
。 因此,更正的是:
SELECT CAST(`timestamp` AS Date) AS `Date`, COUNT(DISTINCT(`ipNum`)) AS totalCOunt
FROM `tableName`
GROUP BY CAST(`timestamp` AS Date)
它在“ where子句”错误中引发未知列“ totalCOunt”:
请尝试以下查询( 将WHERE子句替换为HAVING子句 ):
SELECT DATE(timestamp) Date, COUNT(DISTINCT ipNum) totalCOunt
FROM tableName
GROUP BY DATE(timestamp)
HAVING totalCOunt<1
您不能在WHERE子句中使用别名
SELECT DATE(timestamp) Date, COUNT(DISTINCT ipNum) totalCOunt
FROM tableName
WHERE totalCOunt < 1
GROUP BY DATE(timestamp)
改用HAVING:
SELECT DATE(timestamp) Date, COUNT(DISTINCT ipNum) totalCOunt
FROM tableName
GROUP BY DATE(timestamp)
HAVING totalCOunt =1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.