当前位置: 首页 > 图文教程 > 数据库 > MSSQL > MSSQL 多字段根据范围求最大值实现方法

MSSQL
SQL查询结果集对注入的影响及利用
Access入门:Access的特点及其概念问答
关于SQL注入的几类错误和产生的原理
使用SQL语句取随机数的方法
SQL教程:提高SQL执行效率的几点建议
SQL Server数据库常用的T-SQL命令
实战:全面了解SQLServer注入过程
SQL Server 2000的SA密码被破解实例
union组合结果集时的order问题
MSSQL汉字转拼音函数实现语句
sqlserver 中ntext字段的批量替换(updatetext的用法)
sqlserver 常用存储过程集锦
MSSQL 删除数据库里某个用户所有表里的数据
MSSQL 多字段根据范围求最大值实现方法
MSSQL 首字母替换成大写字母
MSSQL 提取汉字实现语句
sqlserver 字符串分拆 语句
实现按关健字模糊查询,并按匹配度排序的SQL语句
SQLSERVER中union,cube,rollup,cumpute运算符使用说明
sqlserver 禁用触发器和启用触发器的语句

MSSQL 多字段根据范围求最大值实现方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 42 ::
收藏到网摘: n/a

MSSQL 多字段根据范围求最大值实现语句,大家可以参考下

-->Title:生成測試數據
-->Author:wufeng4552
-->Date :2009-09-21 15:08:41
declare @T table([Col1] int,[Col2] int,[Col3] int,[Col4] int,[Col5] int,[Col6] int,[Col7] int)
Insert @T
select 1,10,20,30,40,50,60 union all
select 2,60,30,45,20,52,85 union all
select 3,87,56,65,41,14,21
--方法1
select [col1],
max([col2])maxcol
from
(select [col1],[col2] from @t
union all
select [col1],[col3] from @t
union all
select [col1],[col4] from @t
union all
select [col1],[col5] from @t
union all
select [col1],[col6] from @t
union all
select [col1],[col7] from @t
)T
where [col2] between 20 and 60 --條件限制
group by [col1]
/*
col1 maxcol
----------- -----------
1 60
2 60
3 56

(3 個資料列受到影響)

*/
--方法2
select [col1],
(select max([col2])from
(
select [col2]
union all select [col3]
union all select [col4]
union all select [col5]
union all select [col6]
union all select [col7]
)T
where [col2] between 20 and 60) as maxcol --指定查詢範圍
from @t
/*
(3 個資料列受到影響)
col1 maxcol
----------- -----------
1 60
2 60
3 56
*/