如何将表与空值一起分组

时间:2015-07-02 15:38:27

标签: mysql sql postgresql group-by

我有行表:

Id, Name, Age, Field1, Field2
-----------------------------
1, 'Person_1', 23, NULL, 5
2, 'Person_1', 23, 3, NULL
3, 'Person_2, 25, 7, NULL

我想将其分组以得到这样的结果:

'Person_1', 23, 3, 5
'Person_2, 25, 7, NULL

我尝试做子查询并选择Field1和Field2,但它总是获得field1和field2的第一行单人

1 个答案:

答案 0 :(得分:1)

使用GROUP BY

SELECT Name, MAX(Age), MAX(Field1), MAX(Field2)
FROM mytable
GROUP BY Name
如果全部

MAX汇总函数将返回NULL,例如Field2,值为NULL,否则会忽略NULL并返回字段的最大值。

Demo here