美文网首页
按指定基准对齐的分组运算

按指定基准对齐的分组运算

作者: 小黄鸭呀 | 来源:发表于2020-11-09 11:05 被阅读0次

    对照一个基准集合,将待分组集合成员的某个字段或表达式与基准集合成员比较,相同者则分到同一个组中,最后拆分出来的组数和基准集合成员数是相同的。这种分组我们称为对齐分组。对齐分组可能会有空组,也可能有成员未分配到任何一个组中。

    1.     普通对齐分组

    1.1    每组保留最多一个匹配成员

    按某字段的指定顺序,将表中所有记录分组并汇总求和。

    【例 1】 根据相互关联的课程表和选课表,按课程表顺序查询有哪些课程无人选择:

    【SPL 脚本】

    A5的执行结果如下:

    1.2    每组保留所有匹配成员

    按某字段的指定顺序,将表中所有记录分组并汇总求和。

    【例 2】 根据相互关联的员工表和部门表,按部门表中的部门顺序统计各部门人数:

    【SPL 脚本】

    A5的执行结果如下:

    1.3    不匹配记录放到新组

    按某字段的指定顺序,将表中所有记录分组,不匹配记录放到新组。

    【例 3】 根据员工薪资表,统计 [California, Texas, New York, Florida] 的平均工资,未指定的州作为“Other”统计。员工薪资表部分数据如下:

    【SPL 脚本】

    A5的执行结果如下:

    2.     序号对齐分组

    序号对齐分组,是指按照指定的序号进行分组,序号相同的成员分到同一组。

    2.1    每组保留最多一个匹配成员

    在相互关联的两个表中,查找未被引用的记录。

    【例 4】 根据相互关联的销售表和客户表,顺序列出 2014 年没有销售记录的客户:

    【SPL 脚本】

    A6的执行结果如下:

    2.2    每组保留所有匹配成员

    按序号将表中所有记录分组并汇总求和。

    【例 5】 根据订单表,顺序列出 2013 年每月的订单总数。订单表部分数据如下:

    【SPL 脚本】

    A4的执行结果如下:

    2.3    按序号重复性分组

    按计算出的序号数列重复性分组并计算。

    【例 6】 根据发帖记录表,按标签将帖子分组,并统计各个标签出现频数。发帖记录表部分数据如下:

    【SPL 脚本】

    A5的执行结果如下:

    2.4    分段分组

    根据指定字段的值,分段分组并汇总计数。

    【例 7】 根据员工薪资表,按工资 8000 以下、8000~12000 和 12000 以上分组,并统计各组的人数。员工薪资表部分数据如下:

    【SPL 脚本】

    A5的执行结果如下:

    根据表达式的计算结果,将记录分段分组并汇总计算平均值。

    【例 8】根据员工表,按入职时间 10 年以下,10~20 年和 20 年以上分组,并统计每组的平均工资。员工表部分数据如下:

    【SPL 脚本】

    A6的执行结果如下:

    3.     枚举分组

    枚举分组是指,事先指定一组枚举条件,将待分组集合的成员作为参数计算这批条件,条件成立者都被划分到与该条件对应的一个子集中,结果集的子集和事先指定的条件一一对应。

    3.1    每个成员只存放到第一个匹配组

    根据枚举条件表达式,将记录分组,分组时记录只置于第一个匹配组。

    【例 9】 根据中国主要城市人口表,按人口将城市分类。中国主要城市人口表部分数据如下:

    【SPL 脚本】

    A4的执行结果如下:

    3.2    不匹配成员存放到新组

    根据枚举条件表达式,将记录分组,不匹配记录放到新组。

    【例 10】 根据员工薪资表,按年龄条件 [小于 35 岁, 小于 45 岁] 将员工分组,统计平均工资,不满足条件的分到新组。员工薪资表部分数据如下:

    【SPL 脚本】

    A5的执行结果如下:

    3.3    按照枚举条件可重复分组

    根据不同的指定序列,将记录分组并计算,分组时记录可重复。

    【例 11】 根据城市 GDP 表,分别统计直辖市、一线城市、二线城市的人均 GDP,分组时可能重复。城市 GDP 表部分数据如下:

    【SPL 脚本】

    A5的执行结果如下:

    SPL CookBook》中还有更多相关计算示例。

    相关文章

      网友评论

          本文标题:按指定基准对齐的分组运算

          本文链接:https://www.haomeiwen.com/subject/wrqivktx.html