mysql语句把满足某一条件的结果放到查询结果的最后面怎么弄

订单列表
订单列表中有没有设置服务时间的,有已经设置过服务时间的,现在需要查询订单,按订单的服务时间升序排列,但是要把没有设置服务时间(默认为1970年)放到最后面,用一个sql语句怎么解决呢?

阅读 3.9k
2 个回答
MySQL:
select * from t order by IF(ISNULL(order_col),1,0), order_col asc;

Oracle
select * from t order by order_col asc nulls last;  

用Union 合并查询结果。
(select * from a where service_time = !null order by service_time asc)
union
(select * from a where service_time = null);

where 后条件 按你具体的service_time 默认值做相应修改即可。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题