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 点这样的,这里是用脚本写的,用设计器可以实现吗