我有行表:
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的第一行单人
答案 0 :(得分:1)
使用GROUP BY
:
SELECT Name, MAX(Age), MAX(Field1), MAX(Field2)
FROM mytable
GROUP BY Name
如果全部, MAX
汇总函数将返回NULL
,例如Field2
,值为NULL
,否则会忽略NULL
并返回字段的最大值。