有时候我们需要从多个相同的列里(这些列的数据类型相同)找出最大的那个值,并显示

这里给出一个例子

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'),

('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

方法二

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

在一个SQL Server表中一行的多个列找出最大值的更多相关文章

  1. 在一个SQL Server表中的多个列找出最大值

    在一个SQL Server表中一行的多个列找出最大值 有时候我们需要从多个相同的列里(这些列的数据类型相同)找出最大的那个值,并显示 这里给出一个例子 IF (OBJECT_ID('tempdb..# ...

  2. SQL server 表中如何创建索引?

    SQL server 表中如何创建索引?看个示例,你就会了 use master goif db_id(N'zhangxu')is not nulldrop database zhangxugocre ...

  3. SQL Server:把CSV文件导入到SQL Server表中

    有时候我们可能会把CSV中的数据导入到某个数据库的表中,比如做报表分析的时候. 对于这个问题,我想一点也难不倒程序人员吧!但是要是SQL Server能够完成这个任务,岂不是更好! 对,SQL Ser ...

  4. 为SQL Server表中的列添加/修改/删除注释属性(sp_addextendedproperty、sp_updateextendedproperty、sp_dropextendedproperty)

    本篇基本完全参考:sql--sp_addextendedproperty和sp_updateextendedproperty (Transact-SQL) 三个存储过程用法一样,以sp_addexte ...

  5. 把CSV文件导入到SQL Server表中

    保存数据库数据直接查询select * from tableName 在数据表格的左上角右击——将结果另存为选择路劲保存好的就是.csv格式的数据 有时候我们可能会把CSV中的数据导入到某个数据库的表 ...

  6. 导出 SQL SERVER 表中数据为脚本

    ALTER PROCEDURE [dbo].[Usp_OutputData] @tablename sysname, @outputIdentitycolumn int AS declare @col ...

  7. 从Sql Server表中随机获取一些记录最简单的方法

    * FROM test ORDER BY NewID() 注意,使用时,请将‘test’改为真实的表名.

  8. CSV文件导入到SQL Server表中

    USE 数据库名BULK Insert dbo.表名From 'c:\CSV文件名.csv'  WITH (   FIELDTERMINATOR = ',',   ROWTERMINATOR = '\ ...

  9. 如何删除 SQL Server 表中的重复行

    第一种:有主键的重复行,就是说主键不重复,但是记录的内容重复比如人员表tab ,主键列id,身份证编号idcard当身份证重复的时候,保留最小id值的记录,其他删除delete a from tab ...

随机推荐

  1. Android Zxing调整扫描区域 优化取图速度

    Zxing 是google提供的二维码扫描project Demo本身默认的扫图区域最大仅仅有 360*480    须要拉开非常远的距离才干将整个二维码扫描到 因此须要我们自己调整取图大小 在Cam ...

  2. Fixed DC-DC Regulator Output Uses A Digitally Controlled Potentiometer

    http://electronicdesign.com/print/passives/fixed-dc-dc-regulator-output-uses-digitally-controlled-po ...

  3. 【转载】利用Matlab制作钟表

    静态时钟 hObject=figure; set(hObject,'NumberTitle','off'); set(hObject,'MenuBar','none'); set(hObject,'v ...

  4. jdbc框架有很多,包括spring jdbc

    1.由于jdbc连接的繁琐性,故很多公司封装了jdbc框架,比如spring jdbc 2.比如spring jdbc框架中,用jdbctemplate, 通过jdbcTemplate 提供 int ...

  5. Silverlight:《Pro Silverlight5》读书笔记 之 XAML

    XAML Properties and Events in XAML Simple Properties and Type Converters To bridge the gap between s ...

  6. Javascript:拦截所有AJAX调用,重点处理服务器异常

    背景 上篇文章http://www.cnblogs.com/happyframework/p/3241063.html介绍了如何以AOP的形式处理服务器异常,这让服务器端的编程逻辑变的非常整洁,本文介 ...

  7. react的传值类型PropTypes简单说明

    1.首先可以有那么多种类型 propTypes: { // 可以声明 prop 为指定的 JS 基本类型.默认 // 情况下,这些 prop 都是可传可不传的. optionalArray: Reac ...

  8. 世界围棋人机大战、顶峰对决第二战:围棋世界冠军Lee Sedol(李世石,围棋职业九段)对战Google DeepMind AlphaGo围棋程序,AlphaGo再次胜出!

    感觉在哔哩哔哩(bilibili)上看比赛直播比较好,一直可以看到比赛的直播画面,还能听到英文解说和中文主持人的解说.YouTube上是不错,但是一方面爬梯子比较卡,另一方面只能听到英文解说. 韩国著 ...

  9. ZentaoPMS 系统的优先级以及修改

    王颖2015/10/08 最新版本中,严重程度1.2.3.4分别代表什么意思?还有优先级中1.2.3.4分别代表什么意思? 回复 石洋洋2015/10/08 1 2 3 4 都代表不同的级别,一般是1 ...

  10. C# ?(问号)的三个用处

    public DateTime? StatusDateTime = null; 脑子便也出现个问号,这是什么意思呢?网上搜下,总结如下: 1. 可空类型修饰符(?): 引用类型可以使用空引用表示一个不 ...