我有一个包含以下内容的表格,我希望将它们分组以获得以下输出。有可能吗?
输入
ID Value1 Value2 Value3
5 Y NULL NULL
5 NULL 1 NULL
5 NULL NULL USA
5 NULL NULL NULL
6 N NULL NULL
6 NULL 2 NULL
6 NULL NULL GBP
6 NULL NULL NULL
输出
ID Value1 Value2 Value3
5 Y 1 USA
6 N 2 GBP
答案 0 :(得分:6)
按id
分组并使用max()
获取每个组的非空值
select id,
max(value1) as value1,
max(value2) as value2,
max(value3) as value3
from your_table
group by id
你应该考虑改变你的桌面设计。它没有正常化。