- 积分
- 61
- UID
- 17032
- 阅读权限
- 20
- 注册时间
- 2014-11-16
- 精华
- 在线时间
- 小时
- 最后登录
- 1970-1-1
- 职业
- 1
|
现有一个成绩表 得成绩如下:
考号 姓名 班级 yw sx yy wl zz sw di li hx 总分
13010300501 曾一鸣 二1 67 91 86 94 94 0 67 0 0 499
13010300502 谢丹 二3 71 59 68 48 50 0 47 0 0 343
13010300503 谢为翰 二3 48 84 61 73 26 0 48 0 0 340
13010300504 黄云峰 二3 52 78 50 87 61 0 50 0 0 378
13010300505 李亚敏 二3 56 56 53 48 41 0 35 0 0 289
13010300506 黄伟康 二2 64 66 69 85 49 0 63 0 0 396
13010300507 朱佳琦 二2 44 86 44 77 48 0 49 0 0 348
13010300508 谢佳男 二3 50 57 59 56 27 0 35 0 0 284
13010300509 何佳航 二3 40 79 21 55 21 0 34 0 0 250
13010300510 王俊枫 二2 66 67 78 88 63 0 52 0 0 414
13010300511 马俊 二3 60 66 67 58 59 0 34 0 0 344
13010300512 尹兆海 二3 50 42 49 41 45 0 31 0 0 258
现在我想做个视图,在每一科后面添加一个排名(包含并列排名)
考号, 姓名, 班级, yw, yw_mp, sx, sx_mp, yy, yy_mp, wl, wl_pm, zz, zz_pm, sw, sw_mp, di, dl_pm, ls, ls_pm, hx, hxp, 总分,总分_pm
现在我能做出来的是单科排名查询,无法作为视图,
SELECT `name`, `sx`,sx_sor FROM(
SELECT `name`, `sx`
,(CASE WHEN @tMark=sx THEN @tm ELSE @tm :=@tm+1 END) AS sx_sor
,(@tMark:=sx) AS tm
FROM `cj` AS m ,(SELECT @tm :=0,@tMark:=0) AS t1
ORDER BY sx DESC
) AS t2
ORDER BY t2.sx_sor desc
结果
姓名 分数 排名
lisi 10 5
zhangsan 20 4
wangwu 20 4
zhaoliu 30 3
liuqi 50 2
anjiu 100 1
求助如何做到每科后面增加一个字段显示这个学生这科的排名情况,
|
|