我有一个表,我在其中包含哈希值的列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/

10-15 21:25