|结构化数据上的选出运算
【摘要】
选出是指在集合中 , 根据指定条件获取成员 。 选出与定位计算很相似 , 不过定位关心的是成员在集合中的位置 , 而选出关心的是成员记录的详细信息 。 比如选出入职超过 10 年的员工收入 , 查询销售额超过一万的客户名称等等 。 如何简单快捷的实现选出?这里将为你全程剖析 , 并提供 esProc SPL 示例代码 。结构化数据上的选出运算
1. 选出符合条件的成员
【例 1】 分栏列出欧洲和非洲人口超 200 万的城市名称及人口(每栏按从多到少排序) 。 世界城市人口表部分数据如下:
本文插图
期望结果如下:
本文插图
【SPL 脚本】
本文插图
A4的执行结果如下:
本文插图
【例 2】 查询纽约研发部门员工的全名和收入 。 部分数据如下:
本文插图
【SPL 脚本】
本文插图
A4的执行结果如下:
本文插图
【例 3】 查询各部门 30 岁以下和 50 岁以上的员工的人数 。 部分数据如下:
本文插图
【SPL 脚本】
本文插图
A4的执行结果如下:
本文插图
2. 查找最大值 / 最小值对应记录
【例 4】 根据成绩表 , 求一班数学成绩最低的学生 ID 。 部分数据如下:
本文插图
【SPL 脚本】
本文插图
最小值所在记录不一定是唯一的 , 如果想返回所有记录 , 可以使用函数 A.minp() 的选项 @a :
本文插图
A3的执行结果如下:
本文插图
A4的执行结果如下:
本文插图
【例 5】 根据奥运会奖牌榜统计表 , 求总成绩蝉联第一名届数最长的国家 。 部分数据如下:
本文插图
【SPL 脚本】
本文插图
A5的执行结果如下:
本文插图
3. 分区段查找数据
有时候我们需要通过计算数值在区间中的序号 , 来获取在集合中的对应成员 。 比如根据考试成绩返回评价(优、良、中、差);根据家庭年收入返回家庭所处的资产等级(贫困、小康、中产、富裕等) 。
【例 6】 根据成绩表 , 统计英语科目优秀、及格和不及格的人数 。 部分数据如下:
本文插图
【SPL 脚本】
本文插图
A4的执行结果如下:
本文插图
4. 选出前 N 名 / 后 N 名
【例 7】 根据成绩表 , 求各班各科前两名的学生 ID 。 部分数据如下:
本文插图
【SPL 脚本】
本文插图
A4的执行结果如下:
【|结构化数据上的选出运算】
本文插图
5. 根据主键值查找对应记录
根据主键值查找对应记录是很常见的操作 , 例如根据员工 ID 查找员工记录 , 根据订单 ID 查询订单详细信息等等 。
【例 8】 根据相互关联的课程表和选课表 , 列出所有学生所选课程信息表 , 每个科目作为一列 。 课程表部分数据如下:
本文插图
选课表部分数据如下:
本文插图
希望转换成如下表格:
本文插图
【SPL 脚本】
本文插图
A6的执行结果如下:
本文插图
《SPL CookBook》中还有更多相关计算示例 。
本文插图
推荐阅读
- 养老金|2021年上半年办理退休,养老金核算的这些知识要把握
- 爱吃南瓜饼的收藏,外酥里嫩,香甜软糯,饭桌上必备,做法超简单
- 教你做虎皮蛋糕上的虎皮,掌握2个技巧,保证起虎皮,做法很简单
- 一碗糯米,半个南瓜,香甜软糯,好吃不上火,比南瓜饼香,太好吃
- 天冷了,怎能不吃此菜?十分钟就上桌,香辣可口还美味,贼香
- 猪身上一个部位,无筋无骨不塞牙,比排骨受欢迎,上桌立马被抢光
- 睡眠|新研究:除了熬夜,睡得太早也会影响寿命,50岁以上更应多注意
- 天暖了,趁着这个功夫我们做一个芝麻馅,不煎不炸,蒸熟后包上芝麻糖馅,糯糯甜甜,真好吃
- 炒土豆丝的时候,不要直接下锅!加上这个步骤,又香又脆
- 减肥|郭美美因减肥药再次入狱,细数市面上常见减肥药,减肥无捷径