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