Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 将多行分组在一起_Sql_Sql Server - Fatal编程技术网

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