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

MSSQL
拷贝的SQL Server 7数据库的恢复方法
SQL Server全文检索简介
SQL Server 7.0 一般问题
数据库的查、增、删、改
SQL Server 2000的数据转换服务(下)
SQL Server 2000的数据转换服务(中)
SQL Server 2000的数据转换服务(上)
在SQL2k降序索引上使用中bug
在SQLServer中怎么样恢复数据的存储?
如何将图片存到数据库中?
win98+PWS环境下连接读取远程SQLServer
用SQLServer2000索引视图提高性能(上)
用SQLServer2000索引视图提高性能(下)
如何利用数据库储存图档
袖珍数据库连接查询手册
sql2k增加的Function的sqlbook的帮助
SQL Server静态页面导出技术3
SQL Server静态页面导出技术4
最简便的备份MySql数据库方法
将Access数据库移植到SQL Server 7.0

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 85 ::
收藏到网摘: 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
*/