【和sql对比】按指定次序排序 | 润乾 -欧洲杯在线开户

根据月度销售额表计算每次第一个月比上季同月的增长额,有些月可能无数据。

sql解法

with m as (select 1 月 from dual union select 4 from dual union
           select 7 from dual union select 10 from dual)
select 月, 销售额,销售额-lag(销售额) over(order by 月)
from (select m.月 月,销售表.销售额 销售额
      from m left join 销售表 on (m.月=销售表.月份) )
order by 月

sql完成指定次序排序需要用外连接,而且还要有专门的序号字段保证结果集的次序。

spl解法

a
1 =demo.query(“select * from 销售表”).align@1([1,4,7,10],月份)
2 =a1.new(#:月,销售额,销售额-销售额[-1]:增长额)

spl特有的对齐运算可以替代sql的外连接,有序集合机制也无须再有序号字段。

网站地图