sql获取某列最大值 在一个SQL Server表中的多个列找出最大值 - 奇闻 - 52资讯网
首页 > 奇闻 > 正文

sql获取某列最大值 在一个SQL Server表中的多个列找出最大值

SELECT * FROM ##TestTable

结果如下所示

有三种方法可以实现

方法一

SELECT ID ,
Name ,
( SELECT MAX(LastUpdateDate)
FROM ( VALUES ( UpdateByApp1Date), ( UpdateByApp2Date),
( UpdateByApp3Date) ) AS UpdateDate ( LastUpdateDate )
) AS LastUpdateDate
FROM ##TestTable

方法二

SELECT ID ,
[Name] ,
MAX(UpdateDate) AS LastUpdateDate
FROM ##TestTable UNPIVOT ( UpdateDate FOR DateVal IN ( UpdateByApp1Date,
UpdateByApp2Date,
UpdateByApp3Date ) ) AS u
GROUP BY ID ,
Name

方法三

SELECT ID ,
name ,
( SELECT MAX(UpdateDate) AS LastUpdateDate
FROM ( SELECT tt.UpdateByApp1Date AS UpdateDate
UNION
SELECT tt.UpdateByApp2Date
UNION
SELECT tt.UpdateByApp3Date
) ud
) LastUpdateDate
FROM ##TestTable tt

第一种方法使用values子句,将每行数据构造为只有一个字段的表,以后求最大值,非常巧妙

第二种方法使用行转列经常用的UNPIVOT 关键字进行转换再显示

第三种方法跟第一种方法差不多,但是使用union将三个UpdateByAppDate字段合并为只有一个字段的结果集然后求最大值

第一种方法的执行计划

第二种方法的执行计划

第三种方法的执行计划

总的来说,第一种方法的执行计划是最好的

注意,这里不涉及分组

IF (OBJECT_ID('tempdb..##TestTable') IS NOT NULL) DROP TABLE ##TestTable CREATE TABLE ##TestTable ( ID INT IDENTITY(1, 1) PRIMARY KEY , Name NVARCHAR(40) , UpdateByApp1Date DATETIME , UpdateByApp2Date DATETIME , UpdateByApp3Date DATETIME ) INSERT INTO ##TestTable ( Name, UpdateByApp1Date, UpdateByApp2Date, UpdateByApp3Date ) VALUES ( 'ABC', '2015-08-05', '2015-08-04', '2015-08-06' ), ( 'ABC', '2015-07-05', '2015-06-04', '2015-09-06' ), ( 'NewCopmany', '2014-07-05', '2012-12-09', '2015-08-14' ), ( 'MyCompany', '2015-03-05', '2015-01-14', '2015-07-26' ) SELECT * FROM ##TestTable SELECT ID ,
Name ,
( SELECT MAX(LastUpdateDate)
FROM ( VALUES ( UpdateByApp1Date), ( UpdateByApp2Date),
( UpdateByApp3Date) ) AS UpdateDate ( LastUpdateDate )
) AS LastUpdateDate
FROM ##TestTable

name列相同的话,是无法得出name分组之后的最大值,这里要注意一下

小编推荐
  • sql获取某列最大值 在一个SQL Server表中的
    SELECT * FROM ##TetTable 结果如下所示 有三种方法可以实现 方法一 SELECT ID , Name , ( SELECT MAX(LatUpdateDate) FROM ( VALUES ( UpdateByApp1Da

    2019-09-07

  • 戚薇整形 马天宇曝出一张照片
    戚薇人称“戚哥”,娱乐圈内的女星称哥的并不多见,其爽朗率真的性格深得网友们的喜爱,出道这么些年从不做作、不矫情、不耍大牌。 而她的经常被热议的话题就是整容,直到马天宇曝出的照片,

    2019-09-07

  • 爸爸外面打工和妈妈做 “我和爸爸妈妈一起做
    亲子运动会期间,刘俊希,于沛冉,吴玥琳,王煜童(从左到右)展示做好的手工艺品。 记者陈庆芳 摄 “我和妈妈一起玩粘球游戏” 本版照片均由记者陈庆芳 摄“让我们比一比谁跑得快”帅气

    2019-09-07

  • 温州高楼排名2015 市民文化生活多了一个好去
      温州网讯 昨天,位于市区水心杏花路47号的温州市文苑大楼启用,市民文化生活又多了一个好去处,它将成为我市艺术演出和文化创作的公益性场所,明显改善我市主城区西片文化设施不足的现状

    2019-09-07

  • 最恐怖的丧尸群图片 最恐怖的丧尸图片
    恶心烂脸丧尸恐怖腐烂僵尸面具 万圣节鬼屋道具行尸走肉头套 恐怖烧死的人 恐怖烧死的人图片素材 烧伤的人 丧尸 僵尸 恐怖主题 恐怖,成年人,中老年人,40到49岁,彩色图片,怪物,邪恶的,怪异,僵尸

    2019-09-07

热图推荐