如何选择和计算每个唯一行的最频繁的第一个值?

时间:2019-02-13 09:29:13

标签: sql sql-server

如果您能给我一些有关如何选择具有不同ID的网址中最常见的第一项的提示,我们将不胜感激。 因此,例如,我有一个表(session_idtimeurl),我想知道排名前10位的url,不同的用户在使用浏览器时首先输入该URL。我应该从哪里开始?

2 个答案:

答案 0 :(得分:1)

您可以使用聚合查询来计算每个URL的会话总数,然后可以使用SQLServer TOP关键字来选择排名最高的记录,例如:

SELECT TOP 10 url, COUNT(session_id) total_sessions
FROM mytable
GROUP BY url
ORDER BY total_sessions DESC

如果您只希望每个URL一次计数每个session_id,则可以使用COUNT(DISTINCT...)

SELECT TOP 10 url, COUNT(DISTINCT session_id) total_sessions
FROM mytable
GROUP BY url
ORDER BY total_sessions DESC

答案 1 :(得分:0)

SELECT TOP 10 url, COUNT(session_id) total_sessions
FROM mytable
GROUP BY url
ORDER BY total_sessions DESC