繁体   English   中英

MySQL:每天计算不同的行,包括0

[英]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

您有一些错误:

  1. Date应转义,因为它是MySQL中的关键字。
  2. 语法错误。 您忘记了AS

因此,更正的是:

SELECT  CAST(`timestamp` AS Date) AS `Date`, COUNT(DISTINCT(`ipNum`)) AS totalCOunt
FROM    `tableName`
GROUP   BY CAST(`timestamp` AS Date)

小提琴: http ://sqlfiddle.com/#! 2/809838/8

它在“ 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM