工作过程中发现这样一种需求:
查询进行中(state=0)、已结束(state=3)的会议,要求进行中的开始时间早的会议在前面,已结束的结束时间晚的在前 面,进行中的显示在已结束的前面
代码如下:
SELECT *,CASE WHEN state = '0' THEN start_time
WHEN state = '3' THEN -1*stop_time
END AS order_param
FROM `ap_meeting`
WHERE state = '0'|| state = '3'
ORDER BY state,order_param ASC
LIMIT 15;