2013-11-28 37 views
1

我有一個表像這樣的SQL服務器如何獲得在一列

UsageTime  Website 

10:45:08  yahoo.co.uk 

10:24:06  msn.co.uk 

09:45:08  lycos.co.uk 

我需要得到像這樣

BusiestHour NoOfWebsitesVisited 
10:00   2  

我已經試過這

SELECT TOP 3 UsageTime as BusiestHour, COUNT(Website) FROM NoOfWebsitesVisited 
GROUP BY BusiestHour  
最常見的值

但這並不完全正確。它不會檢查整個小時,只是一個特定的值。

任何幫助,將不勝感激:)謝謝

+2

使用'DATEPART(H,UsageTime)'來獲得日期的小時部分 - 然後你可以建立一個更有用的表達式 – Charleh

回答

5
SELECT TOP 3 
     DATEPART(HOUR,UsageTime) as BusiestHour, 
     COUNT(Website) FROM NoOfWebsitesVisited 
GROUP BY DATEPART(HOUR,UsageTime) 
ORDER BY NoOfWebsitesVisited DESC; 

也許你想sonething喜歡:

SELECT TOP 3 WITH TIES 
     DATEPART(HOUR,UsageTime) as BusiestHour, 
     COUNT(Website) FROM NoOfWebsitesVisited 
GROUP BY DATEPART(HOUR,UsageTime) 
ORDER BY NoOfWebsitesVisited DESC; 
+0

Thankyou。那工作:) –