Ginga(提问者) 回复 cherry团子select substr(订购日期,1,7) as 日期,
count(*) as 订单数量,
sum(case when a.是否已付 = \'true\' then 1 else 0 end) as 已付数量,
sum(数量*单价*(1-折扣)) as 销量
from 订单 a,订单明细 b
where a.订单ID = b.订单ID
and substr(订购日期,1,4) = \'${year}\'
group by 日期
select substr(订购日期,1,4) as 年份 from 订单 group by 年份
这是楼上的SQL代码,用了两个数据库,分段这些设计会让我直观上觉得楼上的会比你的语言简洁些
而且你的后两行代码稍稍有点难懂
select
strftime('%Y-%m',a.订购日期) as 日期,
count(distinct a.订单id) 订单数量,
count(distinct case when a.是否已付 = 'true' then a.订单id else null end) 已付订单,
sum(b.数量) 销量
from 订单 a left join 订单明细 b
on a.订单id = b.订单id
where strftime('%Y',a.订购日期) = '${year}'
group by strftime('%Y-%m',订购日期)