select *,IDENTITY(int,1,1) as id into # from tabselect 年级,班级 from # order by id descdrop table #
--比較奇怪2005比較好弄有row_number select id=identity(int,1,1),* into # from T select * from # order by id desc
如果表有聚集索引,那可以直接select * from tab order by 年级 desc,班级 desc
declare @table table(grade varchar(10), class varchar(10)) insert into @table select '初一','1班' union all select '初一','2班' union all select '初一','3班'select * from @table order by left(class,1) desc /* grade class ------------ 初一 3班 初一 2班 初一 1班 */
select * from tab order by 年级 ,班级 desc
--SQL2000用临时表: select px=IDENTITY(int,1,1),* into # from 表名select 年级,班级 from # order by px desc
有一表: 年级 班级 初一 2班 初一 1班 初一 3班 我要的结果, 初一 3班 初一 1班 初一 2班 也就是表的记录完全倒序.select * , px = identity(int,1,1) into temp from tbselect * from temp order by px desc
into #
from tabselect 年级,班级
from # order by id descdrop table #
--比較奇怪2005比較好弄有row_number
select id=identity(int,1,1),* into # from T
select * from # order by id desc
insert into @table
select '初一','1班'
union all
select '初一','2班'
union all
select '初一','3班'select * from @table order by left(class,1) desc
/*
grade class
------------
初一 3班
初一 2班
初一 1班
*/
select * from tab order by 年级 ,班级 desc
--SQL2000用临时表:
select px=IDENTITY(int,1,1),* into # from 表名select 年级,班级 from # order by px desc
年级 班级
初一 2班
初一 1班
初一 3班
我要的结果,
初一 3班
初一 1班
初一 2班
也就是表的记录完全倒序.select * , px = identity(int,1,1) into temp from tbselect * from temp order by px desc
原表T:
编号 年级 班级
1 初一 1班
2 初一 2班
3 初一 3班
我要到如下表#T:
编号 年级 班级
3 初一 3班
2 初一 2班
1 初一 1班
我是要得到一个真正的表#T,而不是显示#T(select)的效果
--那这样。。
select px=IDENTITY(int,1,1),* into # from 表名select 编号,年级,班级 into #t from # order by px desc
insert into T2 (编号,年级,班级)
select 编号,年级,班级
from T
order by 编号 desc
into T2
from T
order by 编号 desc
select 年级,班级 from
(
select row_number() over(order by 年级) as row,* from [yourtable]
) as dt
order by row desc
into #T
from T
order by 编号 desc