计算一两个查询中两列的数据

时间:2020-09-14 15:56:45

标签: sql group-by sql-server-2005 count distinct

我的表格中有以下不同的行:

neighbouring_countries

我正在尝试构建一个或两个查询,这些查询将给出以下结果:

  • 每个客户每个工作的总点击次数:
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
  • 每个客户每个客户的唯一URL数:
JobID   ClientID    Number of Clicks
a       1           3
a       2           1
a       3           1
b       1           1
b       2           2

这是我尝试过的方法,但是无法正确汇总数据:

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

任何有关如何实现这一目标的技巧将不胜感激!

1 个答案:

答案 0 :(得分:1)

您导致聚合和count(),如下所示:

select 
    jobid, 
    clientid, 
    count(*) cnt_clicks, 
    count(distinct url) cnt_distinct_url
from mytable
group by clientid, jobid