3.23 多个序表按主键归并计算合集
在结构相同的多个表中,根据主键将其中的记录有序归并。
根据 6 月 1 日至 20 日期间的体温情况记录,查找曾经连续发烧 3 日或以上的同学名单。
StudentID | Name | Fever |
---|---|---|
10 | Ryan | 0 |
5 | Ashley | 0 |
13 | Daniel | 1 |
19 | Samantha | 0 |
1 | Rebecca | 0 |
… | … | … |
脚本:
A | |
---|---|
1 | =to(601, 620) |
2 | =A1.(T(string(~)+“.xlsx”)) |
3 | =A2.(~.keys(StudentID).sort(StudentID)) |
4 | =A3.merge() |
5 | =A4.group@o(StudentID,Fever) |
6 | =A5.select(~.Fever==1 && ~.len()>=3).id(Name) |
A1 创建表名序列
A2 循环导入 6 月 1 日到 20 日的文件
A3 设置学生 ID 为主键,并按学生 ID 排序
A4 使用 merge 函数有序归并比对主键。
A5 使用 group 函数的 o 选项,字段值发生变化时分到新组
A6 选出连续发烧 3 天的学生姓名
运行结果:
Name |
---|
Ashley |
Rachel |