Sql Server 取出多个字段列中的最大值和最小值
2014-03-05 16:03
211 查看
现有表table1 , 四个int型 字段 F1,F2,F3,F4;现要查询得到四列中的最大值 , 并只需要返回最大值
方法一:
效果如下:
方法二:
小注:有4列 数据,这里 三个 union 连接的 四个 select 语句,每个查一列,最后四列数据变成一行,然后再查,就好查了。
对于方法二的知识补充:SQL UNION 和 UNION ALL 操作符
方法一:
select case when F12>F34 then F12 else F34 end as MaxNum from (select case when F1>F2 then F1 else F2 end as F12, case when F3>F4 then F3 else F4 end as F34 from table1) as t1 order by MaxNum desc
效果如下:
方法二:
SELECT TOP 1 * FROM ( SELECT F1 AS MaxNum,'F1' AS ColumnName FROM TABLE1 UNION SELECT F2 AS MaxNum,'F2' AS ColumnName FROM TABLE1 UNION SELECT F3 AS MaxNum,'F3' AS ColumnName FROM TABLE1 UNION SELECT F4 AS MaxNum,'F4' AS ColumnName FROM TABLE1) AS T ORDER BY T.MaxNum DESC效果如下:
小注:有4列 数据,这里 三个 union 连接的 四个 select 语句,每个查一列,最后四列数据变成一行,然后再查,就好查了。
对于方法二的知识补充:SQL UNION 和 UNION ALL 操作符
相关文章推荐
- ylbtech-czgfh(财政规范化)-数据库设计
- 用pl/sql导出、导入用户的表、存储
- mysql常用命令
- Oracle Form消息提示
- 关于mysql用户的问题
- C#/.Net通过Npgsql 访问PostgreSQL 乱码问题解决
- Mysql常用的几种SQL提示
- 全绿色版的PL/SQL和Oracle客户端配置-打造绿色Oracle开发环境
- oracle 格式化数字 to_char
- mysql乱码解决
- JDBC数据库连接池c3po配置
- ORACLE 查询所有的用户表
- SQL重复记录查询(转载)
- MYSQL limit,offset
- SQLSERVER 数据连接字符串
- oracle sqlplus执行sql文件
- SQL SERVER 2008 “阻止保存要求重新创建表的更改” 解决方法
- SQL SERVER 2008 “阻止保存要求重新创建表的更改” 解决方法
- mysql事务处理和不同隔离机制
- Mysql查看索引使用情况