sql语句ORDER BY 使用的CASE WHEN 函数
首先说明一下 在order by 中case when then并不会修改值,只是给数据做一下标识;下面我们将用sql语句来验证
1.准备工作
2.需求
将type为1的值先输出,并按照时间倒序;其余的按照时间倒序即可
3. sql语句
SELECT *
FROM employee
ORDER BY CASE WHEN `type`=1
THEN 0 ELSE 1 END ASC , `date` DESC;
得到的结果:
sql运行解析说明:当type=1时,首先将该数据标识为0,其余的将数据标识为1;然后先根据标识值进行ASC[升序],如果标识的值相同时在按照date字段进行DESC[降序];