簡體   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