Sql 如何获取列中最常用的值
我在SQL server中有这样一个表Sql 如何获取列中最常用的值,sql,sql-server,tsql,Sql,Sql Server,Tsql,我在SQL server中有这样一个表 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(Webs
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
但这并不完全正确。它不检查整个小时,只检查一个特定的值
任何帮助都将不胜感激:谢谢
SELECT TOP 3
DATEPART(HOUR,UsageTime) as BusiestHour,
COUNT(Website) FROM NoOfWebsitesVisited
GROUP BY DATEPART(HOUR,UsageTime)
ORDER BY NoOfWebsitesVisited DESC;
也许你想要这样的东西:
SELECT TOP 3 WITH TIES
DATEPART(HOUR,UsageTime) as BusiestHour,
COUNT(Website) FROM NoOfWebsitesVisited
GROUP BY DATEPART(HOUR,UsageTime)
ORDER BY NoOfWebsitesVisited DESC;
也许你想要这样的东西:
SELECT TOP 3 WITH TIES
DATEPART(HOUR,UsageTime) as BusiestHour,
COUNT(Website) FROM NoOfWebsitesVisited
GROUP BY DATEPART(HOUR,UsageTime)
ORDER BY NoOfWebsitesVisited DESC;
使用dateparth,UsageTime获取日期的小时部分-然后可以构建更有用的表达式使用dateparth,UsageTime获取日期的小时部分-然后可以构建更有用的表达式