读书人

sql排序语句

发布时间: 2013-11-02 19:41:10 作者: rapoo

求一个sql排序语句
表是这样的
id class name
1 数学 张一
2 音乐 陈一
3 数学 旺旺
4 语文 地方
5 英语 流程
6 语文 地方
7 音乐 的我
8 数学 风格
9 语文 和你
10 语文 二位
...
...
...

class为课程
name为学生
学生比较多,那么会有一定概率出现连续2个以上的class是一样的,比如记录9和10
现在想实现的是一个排序避免这种连续的class情况,当然最理想的情况是按class字段group之后,依次显示

如class字段group之后,里面包含数学、音乐、语文、英语

效果图

id class name
1 数学 张一
2 音乐 陈一
4 语文 地方
5 英语 流程
3 数学 旺旺
7 音乐 的我
6 语文 地方
8 数学 风格
9 语文 和你
10 语文 二位
...
...
...

[解决办法]

;with maco as
(
select ROW_NUMBER() over (partition by class order by name) as num, * from @t
)
select id,class,name from maco order by num,name


这样也可以

读书人网 >SQL Server

热点推荐