20,359
社区成员
发帖
与我相关
我的任务
分享
((SELECT *FROM table where event_start_date>=CURDATE() ORDER BY event_start_date ASC) UNION (SELECT *FROM table WHERE event_start_date<CURDATE() ORDER BY event_start_date DESC)) ORDER BY event_start_date;
event_start_date
2015-11-30
2015-12-17
2015-11-10
2015-01-27
2014-11-24
用联合select * from
(select * from tbl_name where event_start_date >= now() order by event_start_date) t1
union
select * from
(select * from tbl_name where event_start_date < now() order by event_start_date desc) t2
用优先排序select *
from T
order by
to_days(event_start_date)-to_days(now())>=0 desc,
abs(to_days(event_start_date)-to_days(now()))
(SELECT *FROM table where event_start_date>=CURDATE() ORDER BY event_start_date ASC) UNION (SELECT *FROM table WHERE event_start_date<CURDATE() ORDER BY event_start_date DESC);
$date = date('Y-m-d');
$sql = "(SELECT *FROM table where event_start_date>=" . $date . "ASC) UNION (SELECT *FROM table where event_start_date<" . $date . "DESC)";