我有包含行的表格:
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 的单人第一行
最佳答案
使用GROUP BY
:
SELECT Name, MAX(Age), MAX(Field1), MAX(Field2)
FROM mytable
GROUP BY Name
MAX
如果全部,聚合函数将返回NULL
,例如Field2
,值为NULL
,否则将忽略NULL
并返回字段的最大值。
关于mysql - 如何按具有空值的表进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31188960/