微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SqlServer取出多个字段列中的最大值和最小值

现有表table1,四个int型 字段 F1,F2,F3,F4;现要查询得到四列中的最大值,并只需要返回最大值

方法一:

1. select case when F12>F34 then F12 else F34 end as Maxnum from
2. (select when F1>F2 then F1 F2 end as F12,
3. when F3>F4 then F3 F4 end as F34 from table1) as t1 order by Maxnum desc

效果如下:

\


方法二:

01. SELECT TOP 1 * FROM (
02. SELECT F1 AS Maxnum,'F1' AS ColumnName FROM TABLE1
03. UNION
04. SELECT F2 AS Maxnum,宋体">'F2' 05. 06. SELECT F3 AS Maxnum,宋体">'F3' 07. 08. SELECT F4 AS Maxnum,宋体">'F4' AS ColumnName FROM TABLE1) AS T
09. ORDER BY T.Maxnum DESC


top 2 为第2大的值, top 3 为 第3大的值 

效果如下:


小注:有4列 数据,这里 三个 union 连接的 四个 select 语句,每个查一列,最后四列数据变成一行,然后再查,就好查了。

对于方法二的知识补充:sql UNION 和 UNION ALL 操作符

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐