试试吧
SELECT
[Sell-to Customer No_]
,Count(*)
,Sum([Amount])
,AVG([Amount])
FROM [TBW_BI].[dbo].[Dreams$Internet Orders]
WHERE [Country]='RUSSIA' and
[order date] >= '2016-11-18T00:00:00.000' AND
[order date] <= '2017-04-10T00:00:00.000'
group by [Sell-to Customer No_]
,如果你希望其他列,请通过先得到它,最大,总和....功能取决于你requierment
如果每一个客户都有一个电子邮件在分组值,你可以这样
SELECT
[Sell-to Customer No_]
,[Email]
,Count(*)
,Sum([Amount])
,AVG([Amount])
FROM [TBW_BI].[dbo].[Dreams$Internet Orders]
WHERE [Country]='RUSSIA' and
[order date] >= '2016-11-18T00:00:00.000' AND
[order date] <= '2017-04-10T00:00:00.000'
group by [Sell-to Customer No_], [Email]
添加列,如果没有,你如想先展示从分组电子邮件值可以使用first_value
这样
SELECT
[Sell-to Customer No_]
,FIRST_VALUE([Email]) over (partition by [Sell-to Customer No_] order by [Sell-to Customer No_]) as Email
,Count(*)
,Sum([Amount])
,AVG([Amount])
FROM [TBW_BI].[dbo].[Dreams$Internet Orders]
WHERE [Country]='RUSSIA' and
[order date] >= '2016-11-18T00:00:00.000' AND
[order date] <= '2017-04-10T00:00:00.000'
group by [Sell-to Customer No_]
提示:'COUNT()','SUM ()','AVG()'。 –
@ Giridhar,你试过什么..? – Mansoor
我已经尝试了count()和sum(),但是因为我对SQL比较困惑。 – jiroe