ASC的SQL查询订单日期,但过去的条目结束了吗?

Jas*_*son 1 mysql sql

我目前正在制作一个包含演出议程的艺术家网站.我希望它能够在开始时列出第一个即将到来的演出(asc),并在即将到来的演出之后列出过去的演出.我目前的解决方案是两个不同的查询,一个调用即将发生的事件和一个过去的事件,但我认为找出合并它们的方法更为简洁.有人知道这是否可行,怎么样?

这就是我的开始;

SELECT * 
FROM agenda 
INNER JOIN organizer ON agenda.agenda_organizer=organizer.organizer_id
Run Code Online (Sandbox Code Playgroud)

fan*_*nts 5

SELECT * 
FROM agenda 
INNER JOIN organizer ON agenda.agenda_organizer=organizer.organizer_id
ORDER BY
CASE WHEN yourDateColumn > NOW() THEN 1
     WHEN yourDateColumn < NOW() THEN 2
END ASC,
yourDateColumn
Run Code Online (Sandbox Code Playgroud)

  • 您还应该将'yourDateColumn`添加到'ORDER BY`子句中; 否则,你可能会得到一组无序的即将到来的,带有无序的过去事件. (2认同)