gpt4 book ai didi

sql-server - 如何同时对具有 2 个值的列进行分组和计数?

转载 作者:行者123 更新时间:2023-12-04 02:09:15 25 4
gpt4 key购买 nike

我有一个名为 campaign 的表。这是它的样子:

website event type
amazon imp
amazon imp
amazon imp
amazon click
apple click
apple imp
adidas click
adidas imp
adidas click
adidas imp

我想按事件类型列中的不同值对其进行分组,然后计算事件类型中的不同值。我的表格最终应该是这样的:

website imp click
amazon 3 1
apple 1 1
adidas 2 2

我该怎么做?

编辑 2019 年 3 月 14 日:

到目前为止我到了哪里:

  SELECT a.[webite], case when a.[event_type] = 'imp' then 1 end as 'imp', case when a.[event_type] = 'click' then 1 end as 'click'
FROM [campaign] as a
INNER JOIN [campaign] as b
ON a.[webite] = b.[webite]

最佳答案

您可以将 PIVOTCOUNT 一起使用

DECLARE @SampleTable TABLE (website VARCHAR(10), [event type]  VARCHAR(10))
INSERT INTO @SampleTable VALUES
('amazon' ,'imp'),
('amazon' ,'imp'),
('amazon' ,'imp'),
('amazon' ,'click'),
('apple' ,'click'),
('apple' ,'imp'),
('adidas' ,'click'),
('adidas' ,'imp'),
('adidas' ,'click'),
('adidas' ,'imp')


SELECT * FROM @SampleTable
PIVOT (COUNT([event type]) FOR [event type] IN ([imp], [click])) PVT

结果:

website    imp         click
---------- ----------- -----------
adidas 2 2
amazon 3 1
apple 1 1

关于sql-server - 如何同时对具有 2 个值的列进行分组和计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55161487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com