我有一个表,我在其中包含哈希值的列A上执行GROUP_CONCAT。分组在一起的每一行在B列中可以包含不同的值。假设B列可以包含“是”或“否”。
如果该组中的行包含“ yes”和“ no”,我想对B列进行分组的结果为“ yes”。如果我什么也不做,则根据文档,我将得到一个随机结果B栏。
我还没有找到一个接受固定值/字符串的聚合函数。我想看到的函数FIXED_VALUE是不存在的聚合函数。
+--------+---------+
| hash | yes_no |
+--------+---------+
| 111111 | yes |
| 111111 | no |
| 111111 | no |
| 222222 | no |
| 222222 | no |
+--------+---------+
SELECT FIXED_VALUE(yes_no='yes') FROM my_table GROUP BY hash
最佳答案
尝试做这样的事情。
SELECT
GROUP_CONCAT(hash) as hash,
MAX(yes_no) as yes_no
FROM table
DEMO
关于mysql - 从聚合组中获取具有特定值的行(如果存在具有该值的行),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25608821/