怎么样实现分散排序

MySql 码拜 8年前 (2016-05-26) 1104次浏览
需求:
列出全校全部学生名单,要求将同一个班级的学生分散排序。即首先从各个班级中抽取1个学生,直到全部班级的学生都抽完。每个班的学生数不同。还需要实现分页。
示例数据:
表school:
id      class_id    student_id       student_name
1        1                1                        s
2        1                2                        a
3        1                3                        b
4        1                4                        u
5        2                1                        e
6        2                2                         t
7        3                1                        o
8        4                1                        p
排序后的结果:
id      class_id    student_id       student_name
1        1                1                        s
5        2                1                        e
7        3                1                        o
8        4                1                        p
2        1                2                        a
6        2                2                         t
3        1                3                        b
4        1                4                        u
说明:先从班级1234各抽出1个学生,然后从班级12中各抽出1个学生,然后从班级1中抽出最后2个学生。
解决方案

13

order by student 就好了啊,假如需要重新排序再加一列自增id列

2

分页用:   limit  0,10

5

引用:
Quote: 引用:

order by student 就好了啊,假如需要重新排序再加一列自增id列

谢谢回复。你说的是order by student_id。刚看了一下本人的示例数据,还真是这样。不过,实际数据库中,并没有student_id这样的字段,即使有,不同班级的student_id也不具备这样的数据特点。不过,倒可以按这种思路来增加一列,给每个班级的学生增加一个从1开始的自增编号,用来排序。你说的“假如需要重新排序再加一列自增id列”,就是这个意思吗?

对 没有id 的每个班级增加自增列,当时看到需求就感觉要加,没想到给的数据直接就有


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明怎么样实现分散排序
喜欢 (0)
[1034331897@qq.com]
分享 (0)