【和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的外连接,有序集合机制也无须再有序号字段。