Mysql 条件分组结果
我需要查询按Mysql 条件分组结果,mysql,group-by,conditional,Mysql,Group By,Conditional,我需要查询按名称分组,如果其中一个是新的是1,则结果值应该是1 当前行: +--------+--------+ | name | is_new | +--------+--------+ | a | 0 | | a | 0 | +--------+--------+ | b | 0 | | b | 1 | +--------+--------+ | c | 1 | | c |
名称
分组,如果其中一个是新的
是1
,则结果值应该是1
当前行:
+--------+--------+
| name | is_new |
+--------+--------+
| a | 0 |
| a | 0 |
+--------+--------+
| b | 0 |
| b | 1 |
+--------+--------+
| c | 1 |
| c | 1 |
+--------+--------+
预期查询结果:
+--------+--------+
| name | is_new |
+--------+--------+
| a | 0 |
| b | 1 |
| c | 1 |
+--------+--------+
按名称从组中选择名称、最大值(是新的)和新的
我感兴趣的是如何将条件语句与GROUPBY子句一起使用(即如果其中一个值为“value1”,则GROUPBY结果应为“1”
)。但这仍然有效,所以我会继续。谢谢。我想这可以通过选择name,MAX(CASE WHEN_new='value1'然后1 ELSE 0 END)来实现,因为按名称分组是新的
SELECT name,MAX(is_new) AS is_new FROM <TABLE> GROUP BY name