簡體   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