您现在的位置是:网站首页> 编程资料编程资料
MSSQL 多字段根据范围求最大值实现方法_MsSql_
2023-05-26
351人已围观
简介 MSSQL 多字段根据范围求最大值实现方法_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
*/
相关内容
- MSSQL 删除数据库里某个用户所有表里的数据_MsSql_
- sqlserver 常用存储过程集锦_MsSql_
- sqlserver 中ntext字段的批量替换(updatetext的用法)_MsSql_
- MSSQL汉字转拼音函数实现语句_MsSql_
- union组合结果集时的order问题_MsSql_
- sqlserver 多表关联时在where语句中慎用trim()方法_MsSql_
- 目前用到的两个分页存储过程代码_MsSql_
- 远程连接局域网内的sql server 无法连接 错误与解决方法_MsSql_
- sqlserver 通用分页存储过程_MsSql_
- 批量更新数据库所有表中字段的内容,中木马后的急救处理_MsSql_
