如何自定义组内运算,并将计算结果作为聚合结果

每个 A 列的分组中,必有一对 a,b 对应的 C 列的值,我想要把 (a 对应的 C)  - (b对应的C) 作为 A 组聚合后的结果, 怎么写脚本比较简洁?
attachments-2023-05-w0pukl7G6477021c30d78.png

请先 登录 后评论

1 个回答

veryOrdinary

可以用 pivot by 将 a, b 拆成两列,然后对表的每一行做计算:

id = 1 1 2 2 3 4
part = `a`b`a`b`a`b
val =  3 4 2 6 4 8
t = table(id, part, val)
select a -b from select last(val) from t pivot by id, part


请先 登录 后评论