我有一个像这样的表
+----+------+-------+ | id | name | value | +----+------+-------+ | 1 | bob | k | | 2 | kate | NULL | | 3 | bob | NULL | | 4 | kate | w | +----+------+-------+
我想要以下输出:
+----+------+-------+ | id | name | value | +----+------+-------+ | 1 | bob | k | | 2 | kate | W | +----+------+-------+
当使用合并时:
select id,name,coalesce(value) from hey group by name;
输出为:
+----+------+-------+ | id | name | value | +----+------+-------+ | 1 | bob | k | | 2 | kate | NULL | +----+------+-------+
如何获得所需的输出?请
答案 0 :(得分:0)
您想要聚合,但是您需要正确地构建它:
select min(id) as id, name, max(value)
from hey
group by name;
“正确”是指所有未聚合的列均应作为参数函数(例如max()
或min()
)的参数。