2009-06-30 94 views
1

右鍵,在查詢另一個問題無明顯效果(必須有一個語法導向更有幫助比MySQL手冊,肯定?)正從一個不同的MySQL查詢

我有這個疑問(從另一個有用的答案在SO )...

SELECT DATE_FORMAT(`when`, '%e_%c_%Y')date, COUNT(`ip`) AddressCount FROM `Metrics` WHERE `ID` = '1' GROUP BY DATE(`when`) 

我現在想做一個類似的查詢來獲取的IP地址唯一/獨特的成果......每日期即訪問者。我的查詢是這樣的......

SELECT DATE_FORMAT(`when`, '%e_%c_%Y')date, COUNT(distinct `ip`) AddressCount FROM `Metrics` WHERE `ID` = '1' GROUP BY DATE(`when`) 

然而,返回日期的重複,但不同數量Addresscount的...

date AddressCount 
29_6_2009 1 
30_6_2009 1 
29_6_2009 1 
30_6_2009 1 
29_6_2009 1 
NULL 1 
15_5_2009 1 
14_5_2009 2 
NULL 3 
14_5_2009 4 
15_5_2009 1 
26_6_2009 1 
29_6_2009 1 
26_6_2009 1 
15_5_2009 1 
26_6_2009 1 
29_6_2009 1 

上我要去哪裏不對任何想法?

回答

2

你組通過將需要匹配你選擇數據,所以這應該工作:

SELECT DATE_FORMAT(`when`, '%e_%c_%Y')date, COUNT(distinct `ip`) AddressCount FROM `Metrics` WHERE `ID` = '1' GROUP BY date 
+0

Hello Whisk。我確實也嘗試過,但儘管它似乎返回了正確的結果,但只返回一個結果的一個日期29/06/09它返回7. – waxical 2009-06-30 08:54:52

+0

對不起,我不太清楚你的意思 - 它返回結果,但是當您檢查數據時,它是不正確的? – Whisk 2009-06-30 10:45:41

0

嘗試

SELECT DATE_FORMAT(when, '%E_%C_%Y' )日期,COUNT(DISTINCT ip)AddressCount FROM Metrics WHERE ID = '1' GROUP BY日期(當)

在MySQL中使用保留字時,可能會遇到一些錯誤