3.25 无序表归并法计算并集
将两个结构相同的表中数据归并求和,两个表中有部分记录可能重复,且记录未排序。
根据数据库中结构相同的的两个销售记录表 db1 和 db2,求 2014 年的总销售额。
OrderID | Customer | SellerId | OrderDate | Amount |
---|---|---|---|---|
10426 | GALED | 4 | 2014/01/27 | 338.2 |
10676 | TORTU | 2 | 2014/09/22 | 534.85 |
10390 | ERNSH | 6 | 2013/12/23 | 2275.2 |
10400 | EASTC | 1 | 2014/01/01 | 3063.0 |
10464 | FURIB | 4 | 2014/03/04 | 1848.0 |
… | … | … | … | … |
脚本:
A | |
---|---|
1 | =connect(“db1”).query@x(“select * from Sales”) |
2 | =connect(“db2”).query@x(“select * from Sales”) |
3 | =[A1,A2].merge@ou(OrderID) |
4 | =A3.select(year(OrderDate)==2014) |
5 | =A4.sum(Amount) |
A1 从 db1 中读取销售表
A2 从 db2 中读取销售表
A3 使用 merge 函数按订单 ID 有序归并。使用了 @o 选项,销售表不保证按订单 ID 有序。使用了 @u 选项,去掉 ID 重复的记录。
A4 选出 2014 年的记录
A5 统计 2014 年的总销售额
运行结果:
Value |
---|
723388.75 |