如何使用代码显示所有假期类型

时间:2019-02-11 08:08:24

标签: sql sql-server tsql

对于我的作业,我必须编写sql代码以显示“在2015年的所有订单中,计算每种假日类型的天数,以及每种假日类型的平均每天销售额。排除holidaytype = NULL。对结果进行排序每天的平均销售额从高到低。”

这是我一直在尝试使用的代码

select distinct holidaytype, sum(AvgSales) as AvgSales, sum(NumDays) as NumDays
from(
Select min(holidaytype) as holidaytype, count(order_date) as cnt, count(numholidays) as NumDays, avg(o.sales*o.quantity) as AvgSales
from orderline o, orders1 o1, calendar c  
where o.Order_ID=o1.Order_ID  and datepart(yyyy,order_date)= 2015 and holidaytype is not null) J
group by holidaytype
go

在输出中,仅显示一种假日类型,但我应该有6或7种不同的假日类型。

1 个答案:

答案 0 :(得分:0)

您正在按“假日类型”分组,因此根据您的问题进行汇总是没有意义的。

所以代替这个:

Select min(holidaytype) as holidaytype,

您应该这样做:

Select holidaytype,