mysql 技巧 * 总分相同则依次比较科目A、科目B ..

前提:

MySQL 数据表中存储多个用户多个科目的成绩,每个用户的每个科目都记录为一条数据,大致结构如下:

需求:

总成绩相同,则比较 科目A 成绩,高分者排名靠前,如果 科目A 也相同则比较 科目B 成绩,依次比下去。

我的解决:

创建统计表,记录数据如下:总分score_count,得分详情[A+50,B+50,C+50..] score_info(将每个科目的得分都 + 50 使之成为长度相同的值):

查询排名时,只需使用 order by 实现排名:

该需求解决方案应该很多,将数组元素解析成字符串进行排序是一个很笨的解法,求更优解;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值