6.13 按段分组:按字段值分段
根据指定字段的值,分段分组并汇总计数。
根据员工薪资表,按工资 8000 以下、8000~12000 和 12000 以上分组,并统计各组的人数。
ID | NAME | BIRTHDAY | SALARY |
---|---|---|---|
1 | Rebecca | 1974-11-20 | 7000 |
2 | Ashley | 1980-07-19 | 11000 |
3 | Rachel | 1970-12-17 | 9000 |
4 | Emily | 1985-03-07 | 7000 |
5 | Ashley | 1975-05-13 | 16000 |
… | … | … | … |
在对位函数 align(n,y) 中,可以使用 pseg(x) 函数进行分段。
脚本:
A | |
---|---|
1 | =connect(“db”) |
2 | =A1.query@x(“select * from EMPLOYEE”) |
3 | [0,8000,12000] |
4 | =A2.align@a(A3.len(),A3.pseg(SALARY)) |
5 | =A4.new(A3 (#):SALARY,~.count():COUNT) |
A1 连接数据库
A2 查询员工表
A3 定义工资区间
A4 使用 pseg 函数获取工资所在区间
A5 统计每组的人数
运行结果:
SALARY | COUNT |
---|---|
0 | 308 |
8000 | 153 |
12000 | 39 |
如何按照时间段分呢,比如按 1 小时查询,8 点 -9 点 9 点 -10 点这样的,这里是用脚本写的,用设计器可以实现吗