mysql按条件排序,order by高级用法之case和when

实验1

表名student_score,表中记录如下。

image
需求:

  • 学科按照顺序 语文,数学,英语
  • 分数倒序

1. 使用order by case when语法查询

SELECT * FROM student_score ORDER BY
case
    when subject = '语文' then 1
    when subject = '数学' then 2
    else 3
end
asc, score desc;

查询结果
image
2. 使用order by case when语法查询简化写法

SELECT * FROM student_score ORDER BY
case `subject`
    when '语文' then 1
    when '数学' then 2
    else 3
end
asc, score desc;

查询结果
image

posted @ 2023-10-23 10:08  梦醒时风  阅读(1133)  评论(0)    收藏  举报