MySQL - 根据条件排序

时间:2017-06-05 02:26:55

标签: mysql sql

我正在研究一个问题,它会按照以下规则对输出进行排序:

如果g.grade> 8,那么

order by g.grade asc, s.name asc

如果g.grade< = 8,那么

order by g.grade desc, s.marks asc

怎么做?

1 个答案:

答案 0 :(得分:0)

使用case when

ORDER BY CASE WHEN g.grade > 8 THEN g.grade ELSE (0 - g.grade) END asc,
         CASE WHEN g.grade > 8 THEN s.name ELSE s.marks END asc