mysql怎么设置升序和降序_如何升序和降序修改一个列在MySQL

是不可能的排序查询由两个不同的ORDER BY子句。

您可以通过此行添加一个或多个其他行的声明和秩序。 要做到这一点,你必须决定如何排序。在所有等级> 10之前,小于10分的成绩是否应该达到?

像这样的东西可以工作:

select (

case

when grade < 8 then null

else name

end

) as name,

grade, marks,

(

case

when grade > 10 then grade

else null

end

) as sortorder1,

(

case

when grade > 10 then name

else marks

end

) as sortorder2

from students

join Grades

ON Min_mark = (SELECT MAX(Min_mark) from grades where min_mark <= students.marks)

order by sortorder1 desc, sortorder2 asc

编辑低于8 assumning等级应由档次以及排序:

我认为这应该工作:

select (

case

when grade < 8 then null

else name

end

) as displayname,

grade, marks

from students

join Grades

ON Min_mark = (SELECT MAX(Min_mark) from grades where min_mark <= students.marks)

order by grade desc, displayname asc, marks asc

我将'as name'替换为'as displayname'以便更清楚地表明,排序应该通过displayname完成,我不确定这是否对于数据库来说是需要的,但是对于阅读查询的人来说更加清楚。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值