【和SQL对比】记录集合保存
研发部有多少人?比销售部少几人?和商务部平均年龄相差多少?
SQL解法
研发部的人数
select count(*) from 员工表 where 部门='研发部'
比销售部少几人
select (select count(*) from 员工表 where 部门='销售部') -
(select count(*) from 员工表 where 部门='研发部')
from dual
和商务部的平均年龄相差
select (select avg(年龄) from 员工表 where 部门='研发部') -
(select avg(年龄) from 员工表 where 部门='商务部')
from dual
SQL计算不分步,无法引用已有的计算结果,需要将被引用语句重抄一遍。
SPL解法
| A | B | |
| 1 | =demo.query(“select * from 员工表”) | |
| 2 | =A1.select(部门:"研发部") | =A2.len() |
| 3 | =A1.select(部门:"销售部") | =A3.len()-B2 |
| 4 | =A1.select(部门:"商务部") | =A2.avg(年龄)-A4.avg(年龄) |
SPL支持记录集合用作变量值,可以充分利用中间结果。
