【发布时间】:2021-01-01 09:13:02
【问题描述】:
我的表中有以下不同的行:
JobID ClientID Date URL
a 1 Apr 27 2020 8:21AM http://somewebsite.com
a 1 Apr 29 2020 12:57AM http://somewebsite.com
a 1 Apr 30 2020 5:05AM http://anotherwebsite.com
a 2 May 3 2020 6:09PM http://anotherwebsite.com
a 3 May 20 2020 12:55AM https://thirdlink.com
b 1 Apr 30 2020 5:16AM http://anotherwebsite.com
b 2 May 3 2020 6:09PM http://anotherwebsite.com
b 2 May 11 2020 8:39AM https://thirdlink.com
我正在尝试构建一个或两个会产生以下结果的查询:
- 每个客户每个作业的总点击次数:
JobID ClientID Number of Clicks
a 1 3
a 2 1
a 3 1
b 1 1
b 2 2
- 每个作业每个客户端的唯一 URL 数:
JobID ClientID Number of URLs
a 1 2
a 2 1
a 3 1
b 1 1
b 2 2
这是我尝试过的,但它没有正确聚合数据:
SELECT ClientID,
COUNT(ClientID) AS [Number of Clicks],
JobId
FROM [table]
GROUP BY ClientID, JobId
SELECT ClientID,
COUNT(URL) AS [Number of URLs],
JobId
FROM [table]
GROUP BY ClientID, JobId
任何关于如何实现这一点的提示将不胜感激,谢谢!
【问题讨论】:
-
对不起,是sql server,我把标签搞混了
-
您的第一个查询是正确的,尽管您可以将
COUNT(ClientID)替换为COUNT(*)。在您的第二个查询中使用COUNT(DISTINCT URL)。
标签: sql group-by sql-server-2005 count distinct