如何在列中获得最常见的值

iAt*_*_it 1 sql t-sql sql-server

我在SQL server中有这样的表

UsageTime        Website

10:45:08       yahoo.co.uk

10:24:06       msn.co.uk

09:45:08       lycos.co.uk
Run Code Online (Sandbox Code Playgroud)

我需要得到这样的东西

BusiestHour   NoOfWebsitesVisited
10:00         2     
Run Code Online (Sandbox Code Playgroud)

我试过这个

SELECT TOP 3  UsageTime as BusiestHour, COUNT(Website) FROM  NoOfWebsitesVisited
GROUP BY BusiestHour    
Run Code Online (Sandbox Code Playgroud)

但这不太对.它不会检查整个小时,只是一个特定的值.

任何帮助将不胜感激:)谢谢

Mit*_*dir 5

SELECT TOP 3   
       DATEPART(HOUR,UsageTime) as BusiestHour, 
       COUNT(Website) FROM  NoOfWebsitesVisited
GROUP BY DATEPART(HOUR,UsageTime)
ORDER BY NoOfWebsitesVisited DESC;
Run Code Online (Sandbox Code Playgroud)

也许你想要声音如下:

SELECT TOP 3 WITH TIES
       DATEPART(HOUR,UsageTime) as BusiestHour, 
       COUNT(Website) FROM  NoOfWebsitesVisited
GROUP BY DATEPART(HOUR,UsageTime)
ORDER BY NoOfWebsitesVisited DESC;
Run Code Online (Sandbox Code Playgroud)