Sql 将多行分组在一起
我有一个包含以下内容的表,我希望将它们分组以获得以下输出。可能吗 输入 输出Sql 将多行分组在一起,sql,sql-server,Sql,Sql Server,我有一个包含以下内容的表,我希望将它们分组以获得以下输出。可能吗 输入 输出 ID Value1 Value2 Value3 5 Y 1 USA 6 N 2 GBP 按id分组,并使用max()获取每组的非空值 select id, max(value1) as value1, max(value2) as value2, max(
ID Value1 Value2 Value3
5 Y 1 USA
6 N 2 GBP
按
id
分组,并使用max()
获取每组的非空值
select id,
max(value1) as value1,
max(value2) as value2,
max(value3) as value3
from your_table
group by id
顺便说一句,你应该考虑改变你的桌子设计。它不是标准化的。发布生成此结果的原始查询,我们可以修复它。现在,简单的
按
分组和最小/最大
聚合你能得到你的结果吗?你也可以使用PIVOT,但我更喜欢这种老式方法。
select id,
max(value1) as value1,
max(value2) as value2,
max(value3) as value3
from your_table
group by id