SqlServer取出多个字段列中的最大值和最小值
发布时间:2020-12-12 12:57:14 所属栏目:MsSql教程 来源:网络整理
导读:现有表table1,四个int型 字段 F1,F2,F3,F4;现要查询得到四列中的最大值,并只需要返回最大值 方法一: view source print ? 1. select? case ? when F12F34 then F12? else ? F34 end as MaxNum from 2. (select? when F1F2 then F1? F2 end as F12, 3. when
现有表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 操作符 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |