select * from (select top 3 * from score order by grade) A order by grade desc
表名为score,其中有一字段为grade,用一条SELECT语句按grade从小到 大排序取前3条记录并按grade从大到小 排序(选所有字段) create table score ( [name] varchar(50), sex varchar(2), grade int ) insert into score([name],sex,grade) ( select 'aa','男',25 union select 'bb','女',22 union select 'cc','女',24 union select 'dd','女',23 union select 'ee','女',20 union select 'ff','女',18 union select 'gg','女',25 union select 'hh','女',21 union select 'ii','男',21 union select 'jj','男',22 ) select * from(select top 3 * from score order by grade asc) A order by grade desc go
--sql server select * from (select top 3 * from score order by grade ) t order by grade desc--oracle select * from (select * from score where rownum <= 3 order by grade ) t order by grade desc
(select top 3 * from score order by grade) A
order by grade desc
大排序取前3条记录并按grade从大到小
排序(选所有字段)
create table score
(
[name] varchar(50),
sex varchar(2),
grade int
)
insert into score([name],sex,grade)
(
select 'aa','男',25 union
select 'bb','女',22 union
select 'cc','女',24 union
select 'dd','女',23 union
select 'ee','女',20 union
select 'ff','女',18 union
select 'gg','女',25 union
select 'hh','女',21 union
select 'ii','男',21 union
select 'jj','男',22
)
select * from(select top 3 * from score order by grade asc) A order by grade desc
go
消息 208,级别 16,状态 1,第 1 行
对象名 'score' 无效。
select * from (select top 3 * from score order by grade ) t order by grade desc--oracle
select * from (select * from score where rownum <= 3 order by grade ) t order by grade desc