对于我的作业,我必须编写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种不同的假日类型。
答案 0 :(得分:0)
您正在按“假日类型”分组,因此根据您的问题进行汇总是没有意义的。
所以代替这个:
Select min(holidaytype) as holidaytype,
您应该这样做:
Select holidaytype,