现有表table1,四个int型 字段 F1,F2,F3,F4;现要查询得到四列中的最大值,并只需要返回最大值
方法一:
view source print ?
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 *** 作符
总结以上是内存溢出为你收集整理的SqlServer取出多个字段列中的最大值和最小值全部内容,希望文章能够帮你解决SqlServer取出多个字段列中的最大值和最小值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)