在sql中根据成绩显示学生排名
2017-08-21 12:51
302 查看
1、准备
2、实现
说明:在DbVisualizer中,代码执行后,RANK这列含有小数点,所以这里通过case函数将其转换整数
3、结果
如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】。
如果,您希望更容易地发现我的新博客,不妨点击一下左下角的【关注我】。
如果,您对我的博客所讲述的内容有兴趣,请继续关注我的后续博客,我是【刘超★ljc】。
本文版权归作者,禁止转载,否则保留追究法律责任的权利。
1 create table newtable 2 ( 3 name VARCHAR(100), 4 yuwen INT(10), 5 shuxue INT(10) 6 ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 7 8 9 INSERT INTO newtable (name, yuwen, shuxue) VALUES ('张三', 80, 67); 10 INSERT INTO newtable (name, yuwen, shuxue) VALUES ('李四', 98, 65); 11 INSERT INTO newtable (name, yuwen, shuxue) VALUES ('王五', 59, 98); 12 INSERT INTO newtable (name, yuwen, shuxue) VALUES ('赵六', 76, 87); 13 INSERT INTO newtable (name, yuwen, shuxue) VALUES ('田七', 69, 85);
2、实现
1 select yuwentable.name studentname,yuwentable.yuwen yuwenscore ,cast(yuwentable.rank as SIGNED) yuwenrank,shuxuetable.shuxue shuxuescore,cast(shuxuetable.rank as SIGNED) shuxuescore 2 from 3 ( 4 select (@yuwenrank:=@yuwenrank+1) as rank,name,yuwen 5 from newtable a,(select (@yuwenrank:=0)) b order by a.yuwen desc 6 ) yuwentable , 7 ( 8 select (@shuxuerank:=@shuxuerank+1) as rank,name,shuxue 9 from newtable a,(select (@shuxuerank:=0)) b order by a.shuxue desc 10 ) shuxuetable 11 where yuwentable.name = shuxuetable.name order by yuwentable.name
说明:在DbVisualizer中,代码执行后,RANK这列含有小数点,所以这里通过case函数将其转换整数
3、结果
studentname yuwenscore yuwenrank shuxuescore shuxuescore ----------- ---------- --------- ----------- ----------- 张三 80 2 67 4 李四 98 1 65 5 王五 59 5 98 1 田七 69 4 85 3 赵六 76 3 87 2
如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】。
如果,您希望更容易地发现我的新博客,不妨点击一下左下角的【关注我】。
如果,您对我的博客所讲述的内容有兴趣,请继续关注我的后续博客,我是【刘超★ljc】。
本文版权归作者,禁止转载,否则保留追究法律责任的权利。
相关文章推荐
- 在sql中根据成绩显示学生排名
- (原创)shell 编程:根据从键盘输入的学生成绩,显示相应的成绩标准,也可以同时输入多个成绩,最多为5 个,以空格分隔。
- 一道简单的SQL面试题:查询成绩排名第10到第20的学生
- 查询成绩显示出排名的sql
- sql:查询课程号'0312091006'成绩排名第5到第10之间的学生学号
- 学生成绩表中排名字段的sql语句
- (原创)shell 编程:根据从键盘输入的学生成绩,显示相应的成绩标准,也可以同时输入多个成绩,最多为5 个,以空格分隔。
- 键盘输入学号,显示学生姓名,成绩,排名等信息
- 输入一组学生的姓名和成绩,根据成绩降序排名。
- 只有两个字段用一个sql语句查询出某个学生的姓名、成绩以及在表中的排名
- (二)根据条件进行学生成绩排名
- 查询每个学生的各科成绩sql语句
- 学生成绩排名
- 关于学生成绩查询的几个SQL语句
- SQL小技巧:行列互转,换行,根据条件显示不同内容
- 学生成绩数组求学生排名
- 编写一个应用程序,用户分别从两个文本框输入学术的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。 程序运行效果如图:
- 2 编写一个应用程序,用户分别从两个文本框输入学生的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。 程序运行效果如图:
- sql面试题(学生表_课程表_成绩表_教师表)
- flag28 成绩排序,输出单科最排名以及每个学生每科排名以及总分排名