2013-08-02 23 views
2

這是我目前有:行計數基於CONVERT輸出

enter image description here

我所瞄準的搜索的計數如下...

enter image description here

我實際表有一個DatetimeSelected數據時間字段,我只需要計算日期。我使用'轉換',現在想要獲得每個日期的搜索次數。
這裏是到目前爲止我的代碼...

SELECT   

CONVERT(VARCHAR(10), DateTimeSelected, 103) AS [Book Date] 
,Bathrooms 
,Count (CONVERT(VARCHAR(10), DateTimeSelected, 103)) AS 'No of Searches' 

FROM dbo.Stats_Bathrooms WITH (NOLOCK) 

WHERE (DateTimeSelected BETWEEN GETDATE() - 7 AND GETDATE()) 

GROUP BY ID, DateTimeSelected, Bathrooms, SessionID 

任何幫助非常非常感謝!

+1

您正在使用什麼RDBMS:SQLServer的? – Hazaart

回答

6

你應該只GROUP BY CONVERT(VARCHAR(10), DateTimeSelected, 103), Bathrooms

SELECT 
    CONVERT(VARCHAR(10), DateTimeSelected, 103) AS [Book Date] 
    ,Bathrooms 
    ,Count (CONVERT(VARCHAR(10), DateTimeSelected, 103)) AS 'No of Searches' 
FROM dbo.Stats_Bathrooms WITH (NOLOCK) 
WHERE (DateTimeSelected BETWEEN GETDATE() - 7 AND GETDATE()) 
GROUP BY CONVERT(VARCHAR(10), DateTimeSelected, 103), 
     Bathrooms; 

這會給你:

| BOOK DATE | BATHROOMS | NO OF SEARCHES | 
------------------------------------------- 
| 26/07/2013 |   1 |    3 | 
| 26/07/2013 |   2 |    4 | 
| 26/07/2013 |   3 |    1 | 
| 27/07/2013 |   1 |    2 | 
+1

在SQL小提琴演示中多樣化您的時間以真正展現CONVERT的目的。否則,它將返回沒有CONVERT的相同結果。 – Hazaart