sql之多条件排序
使用case when else end语句
需求:有一个student表,有id,name,age等字段,要求对student表排序,name包含'夏日'的最前显示,age=1的次之,并且按照id升序排序
范例:
select
*
from
student
ORDER BY
CASE
WHEN name LIKE'%夏日%' THEN 1 ===>名字包含'夏日'的顺序权重为1(此处意为数字越小权重越大)
WHEN age=1 THEN 2 ===>年龄为1的顺序权重为2
ELSE 3 END, ===>其他情况的顺序权重为3,此句为结束语句
id
asc ===>按照id升序排序,此排序规则权重最低

浙公网安备 33010602011771号