2014-06-19 78 views
0

我需要查找過去7天每天的記錄數,但是,ip必須每天都是唯一的(ip不能每天計算兩次)。MYSQL查詢統計過去7天每天不同值的數量

這是我的查詢到目前爲止。截至目前,它每天記錄的記錄數,但不檢查該IP是唯一的。

SELECT extract(DAY FROM date_visited) AS theDay, 
    count(*) AS numberOfItems 
    FROM table 
    WHERE `date_visited` >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) 
    GROUP BY extract(DAY FROM date_visited) 

這將返回每天總量,而不是每天的獨立IP的數量...

回答

3

你需要

COUNT(DISTINCT ip) AS numberOfItems 

SQL是很酷的方式。

+0

#1064 - 您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在'DISTINCT ip'附近使用正確的語法)AS numberOfItems FROM stattracker WHERE'date_visited'> = DATE_SU'第二行 – NotJay

+0

謝謝@Ollie Jones,當我遇到錯誤進行建議的調整。我無法正確執行此操作。任何想法爲什麼會發生? – NotJay

+0

你沒有說你的IP列的名稱。所以我猜測。另外,我應該在「COUNT」和括號之間加上空格 –