【和SQL对比】中位数

全公司年龄排名居中的员工

SQL解法

select 姓名,出生日期
from (select 姓名,出生日期,
             row_number() over (order by 出生日期) 排名
      from 员工表 )
where 排名=(select floor((count(*)+1)/2) from 员工表)

SQL的集合无序,需要专门制造出序号再用条件查询才能完成获得确定位置成员的计算。

SPL解法

A
1 ="员工表"
2 =A1.sort(出生日期)
3 =A2((A2.len()+1)/2)

对于以有序集合为基础的SPL来说,中位数是个很简单的任务。