主题:mysql数据库排序
一个表中,多个数据(开头是无序排列的),现在要把它排序好成名次1,2,3,4这样.
例如:一张表学生成绩表student
Name Course
张三 95
李四 62
王五 85
赵六 32
要求:把表T中的Course排序,生成名次字段(abc),并更新student表
查询结果如下:
Name Course abc
张三 95 1
王五 85 2
李四 62 3
赵六 32 4
以下是我用的方法:
SELECT a.*,(SELECT COUNT(*) FROM student b WHERE b.Course>a.Course)+1 AS abc FROM student a ORDER BY abc
可以得出想要的答案,但这个得出的答案只是一个临时表,abc字段是临时的,只要把表关了再开过.abc就会消失.我怎样才能把abc字段更新到student表里面.
如果大家有好方法,不妨说出来,帮帮小女子.麻烦了
例如:一张表学生成绩表student
Name Course
张三 95
李四 62
王五 85
赵六 32
要求:把表T中的Course排序,生成名次字段(abc),并更新student表
查询结果如下:
Name Course abc
张三 95 1
王五 85 2
李四 62 3
赵六 32 4
以下是我用的方法:
SELECT a.*,(SELECT COUNT(*) FROM student b WHERE b.Course>a.Course)+1 AS abc FROM student a ORDER BY abc
可以得出想要的答案,但这个得出的答案只是一个临时表,abc字段是临时的,只要把表关了再开过.abc就会消失.我怎样才能把abc字段更新到student表里面.
如果大家有好方法,不妨说出来,帮帮小女子.麻烦了