yzm325564(提问者)有三张表,订单、订单明细和产品,我可以查出其他的,但是无法取每个产品前两年的
select 产品名称,订单明细.单价 * 数量 * (1-折扣) as 销售额,substr(订购日期,1,4) as 年份
from 订单明细,订单,产品
where
订单明细.订单ID = 订单.订单ID
and
订单明细.产品ID = 产品.产品ID
group by 产品名称,年份
order by 产品名称,销售额 DESC
yzm325564(提问者)这样也有错误,是我写错了吗?
select 产品名称,订单明细.单价 * 数量 * (1-折扣) as 销售额,substr(订购日期,1,4) as 年份,row_number()over(partition by 产品名称 order by 销售额 desc) as rn
from 订单明细
left join 订单 on 订单明细.订单ID = 订单.订单ID
left join 产品 on 订单明细.产品ID = 产品.产品ID
where rn <= 2
group by 产品名称,年份
order by 产品名称,销售额 DESC