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