首页 > 解决方案 > 基于相同的键将多行合并为一行

问题描述

我有以下数据集:

key       column1  column2  column3
20171021  1        0        0
20171021  0        1        0
20171021  0        0        1

如您所见,所有行的键都是相同的。

我需要以下输出:

key       column1  column2  column3
20171021  1        1        1

谁能帮我写一个完成这个的sql语句?

标签: sqlsql-serverstored-proceduressql-server-2016

解决方案


这看起来像一个简单的聚合查询:

SELECT [key], MAX(column1) column1, MAX(column2) column2, MAX(column3) column3
FROM mytable
GROUP BY [key]

注意:我使用了聚合函数MAX(),但鉴于您的示例数据,它也可能是SUM()您需要的;选择一个适合您的用例。


推荐阅读