【发布时间】:2018-08-02 21:18:10
【问题描述】:
我需要获取一行中的最大值以及列名。问题是在一个分区中可能有几个相等的值。所以我想要的结果是在一列中获得最高值,并且在这种情况下,所有列的名称都用逗号分隔。
这个问题与我之前的问题密切相关:
How to get the highest value in a row together with the column name
让我们使用我之前问题中的 Shnugo 的示例。
DECLARE @tbl TABLE(ID INT IDENTITY,d1 DATE, d2 DATE, d3 DATE);
INSERT INTO @tbl VALUES
('20180101','20180102','20180103') --one max value
,('20170101','20190102','20190102'); --two max values
对于 ID=2,有两个最大值,所以我想要完成的是一个具有 ID 列、max_date 列和第三列列名称的表。因此,对于 ID=2,我想获得两列的名称 (d2,d3)。
【问题讨论】:
-
编辑问题添加一些示例数据和所需的结果会有所帮助。
-
你试过 MAX(column_name) 了吗?结果与您想要的结果有何不同?
标签: sql sql-server tsql