Sql Server中如何取出多个字段列中的最大值和最小值

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

方法一:

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 操作符

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/SQLServer/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索select
, as
, union
, 方法
, 最大值
from
最大值和最小值、最大值最小值平均值图、函数最大值最小值公式、java数组最大值最小值、java求最大值和最小值,以便于您获取更多的相关知识。

时间: 2024-09-20 20:41:55

Sql Server中如何取出多个字段列中的最大值和最小值的相关文章

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

现有表table1 , 四个int型 字段 F1,F2,F3,F4:现要查询得到四列中的最大值 , 并只需要返回最大值 方法一: 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

Oracle如何取出多个字段列中的最大值和最小值

首先介绍两个函数(下面是两个连接): Oracle Least()函数 Oracle Greatest()函数 例子: 建表语句: create table EMP ( EMPNO NUMBER(4) not null, ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4), HIREDATE DATE, SAL NUMBER(7,2), COMM NUMBER(7,2), DEPTNO NUMBER(2) ) 假如要求EMPNO, MGR,SAL

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

首先介绍两个函数(下面是两个连接): Oracle Least()函数 Oracle Greatest()函数 例子: 建表语句: create table EMP ( EMPNO NUMBER(4) not null, ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4), HIREDATE DATE, SAL NUMBER(7,2), COMM NUMBER(7,2), DEPTNO NUMBER(2) ) 假如要求EMPNO, MGR,SAL

sql server建表时设置ID字段自增的简单方法

打开要设置的数据库表,点击要设置的字段,比如id,这时下方会出现id的列属性表 列属性中,通过设置"标识规范"的属性可以设置字段自增,从下图上看,"是标识"的值是否,说明id还不是自增字段 能够设置ID字段自增的字段必须是可自增的,比如int,bigint类型,而varchar类型是不可自增的.比如查看name的列属性时,可以看到"是标识"是否且不可更改. 点击"标识规范",展开后,点击"是标识"会出现下拉

sql server 怎么判断一个表里面的字段拆分之后是否可以在另一个表的字段里面查到数据

问题描述 sql server 怎么判断一个表里面的字段拆分之后是否可以在另一个表的字段里面查到数据 其中F_Split是分割以逗号连接的字符串的方法 怎么判断string字段拆分之后的数据是否能在@a表中的id字段找到对应的记录 insert into @a(idname)values(1'A')insert into @a(idname)values(2'B')insert into @a(idname)values(3'C')select * from @ainsert into @c(s

SQL Server 2008如何用命令修改字段

环境:SQL Server 2008 R2 问题:修改字段出错(将Course表的课程名字段增大长度) 解 决: 错误命令版本1: alter table Course modify column cname char(20);--'modify' 附近有语法错误. 错误命令版本2: alter table Course modify cname char(20);--'modify' 附近有语法错误. 正确的命令: alter table Course alter column cname c

数据-SQL中将多行中的一个字段列中的数值加/号组合在一起

问题描述 SQL中将多行中的一个字段列中的数值加/号组合在一起 一张表中有以下字段,想做如下处理,将统一DJLSH下相同的GNLX的XMBH与XMMC合并成一条数据. 1401090002的DJLSH中,XMBH803膀胱的GNLX是B超,802也是B超,那么就要进行合并. 实现的效果如下: 求组各位大神! 解决方案 oracle的wmsys.wm_concat,oralce11g开始特有的listagg mysql的group_concat函数 sqlserver的xml path 都是处理你

SQL Server 索引和表体系结构(包含列索引)

原文:SQL Server 索引和表体系结构(包含列索引) 包含列索引 概述 包含列索引也是非聚集索引,索引结构跟聚集索引结构是一样,有一点不同的地方就是包含列索引的非键列只存储在叶子节点:包含列索引的列分为键列和非键列,所谓的非键列就是INCLUDE中包含的列,至少需要有一个键列,且键列和非键列不允许重复,非键列最多允许1023列(也就是表的最多列-1),由于索引键列(不包括非键)必须遵守现有索引大小的限制(最大键列数为 16,总索引键大小为 900 字节)的要求所以引进了包含列索引. 正文

MSSQL-应用案例-SQL Server 2016基于内存优化表的列存储索引分析Web Access Log

问题引入 在日常的网站运维工作中,我们需要对网站客户端访问情况做统计.汇总.分析和报表展示,以数据来全面掌控网站运营和访问情况.当不可预知的意外情况发生时,我们可以快速发现问题以及采取相应的措施.比如:当网站受到黑客攻击时的流量陡增,又或者是网站某个资源发生意外抛异常等情况. 在提供Web服务的服务器上,比如IIS.Apache都存在访问日志记录,这篇是文章是以SQL Server 2016基于内存优化表的列存储索引来分析Apache Web Access Log为例,讲解分析网站访问情况,因此