7.17 同序表采用归并法连接
两个同序表,采用归并法连接计算,将结果汇总分组。
根据相互关联的订单表和订单明细表,查询 2014 年每个客户的销售额。
使用 join() 函数的 @m 选项,进行有序归并。
脚本:
A | |
---|---|
1 | =connect(“db”) |
2 | =A1.query(“select * from Order where year(Date)=2014 order by ID”) |
3 | =A1.query@x(“select * from Detail order by ID”) |
4 | =join@m(A2:Order,ID;A3:Detail,ID) |
5 | =A4.groups(Order.CustomerID:CustomerID; sum(Detail.Amount):Amount) |
A1 连接数据库
A2 查询 2014 年的订单,并按订单 ID 排序
A3 查询订单明细表,并按订单 ID 排序
A4 使用 join@m 函数对订单表和订单明细表有序归并
A5 分组汇总每个客户的销售额
运行结果:
CustomerID | Amount |
---|---|
ALFKI | 14848.0 |
ANTON | 4041.0 |
… | … |