繁体   English   中英

sql 合并不与 mysql 的组一起工作

[英]sql coalesce not working with group by mysql

我有一张像这样的桌子:

+----+------+-------+
| id | name | value |
+----+------+-------+
|  1 | bob  | k     |
|  2 | kate | NULL  |
|  3 | bob  | NULL  |
|  4 | kate | w     |
+----+------+-------+

我想要以下 output:

+----+------+-------+
| id | name | value |
+----+------+-------+
|  1 | bob  | k     |
|  2 | kate | W     |
+----+------+-------+

当使用合并时:

select id,name,coalesce(value) from hey group by name;

output 是:

+----+------+-------+
| id | name | value |
+----+------+-------+
|  1 | bob  | k     |
|  2 | kate | NULL  |
+----+------+-------+


如何实现所需的 output?

您想要聚合,但您需要正确构造它:

select min(id) as id, name, max(value)
from hey
group by name;

“正确”意味着所有非聚合列都应该是参数函数的 arguments ,例如max()min()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM