我有一个名为 TableA 的表。
输入:
ColumnA ColumnB ColumnC
jim 1788 5F
jim 2000 9F
jim 500 9F
ben 190 4H
geri 40 manny
geri 40 kelly
geri 20 joker
geri 20 jam
输出:
ColumnA ColumnB ColumnC
jim 2000 9F
jim 2000 NULL
ben 190 4H
geri 40 manny
geri 40 kelly
geri 40 NULL
有人可以帮我处理 SQL 查询吗?
逻辑如下:
我想按 ColumnA 对行进行分组,例如“gerri”组将有 4 行。对于每个组,计算 ColumnB 中的最大元素,对于 gerri 组,它是 40。针对 ColumnB 分析组中的每个元素:如果 element.ColumnB = 最大值,则将行放在输出中(如果它不存在已经)。否则,如果 element.ColumnB 与最大值不同,则将当前行放入输出中,ColumnC 为 NULL,ColumnB 为 MAXIMUM(同样,如果它在输出中不存在)。
从我给出的示例中更清楚。
提前感谢您的任何建议!