日期:2014-05-18  浏览次数:21026 次

SQL Server如何查询前3行数据的最大值?
数据结构如下
ID 值
1 1
2 4
3 5
4 6
5 7
6 8

查询出前三行数据的最大值,也就是5,SQL语句该怎么写?

------解决方案--------------------
SQL code

--> 测试数据:[test]
if object_id('[test]') is not null 
drop table [test]
create table [test]([ID] int,[值] int)
insert [test]
select 1,1 union all
select 2,4 union all
select 3,5 union all
select 4,6 union all
select 5,7 union all
select 6,8

select top 1 * from(
select top 3 * from test order by GETDATE())t
order by [值] desc
/*
ID    值
3    5
*/

------解决方案--------------------
SQL code
select max([值]) from (
    select top 3 * from yourtable order by id asc
) a