按日期排序,但在MySQL中首先添加重要内容

时间:2014-01-05 11:39:49

标签: mysql sql

我的桌子看起来像那样:

ID | title | author | timestamp | livetime | special

我的目标是从表中选择all,其中livetime大于当前时间戳,并按时间戳desc排序。但是“special”为true的记录必须在第一个(当然,也是有序的)。只能使用MySQL吗?

我的SQL查询看起来:

SELECT * FROM ads WHERE livetime > UNIX_TIMESTAMP() ORDER BY timestamp DESC

3 个答案:

答案 0 :(得分:3)

是的,您可以按两列排序。值true为1且false为0,因此您需要按降序排序。

SELECT * FROM ads WHERE livetime > UNIX_TIMESTAMP() ORDER BY special DESC, timestamp DESC

答案 1 :(得分:1)

SELECT * FROM ads 
WHERE livetime > UNIX_TIMESTAMP() 
ORDER BY special <> 1,
         timestamp DESC

答案 2 :(得分:1)

试试这个。

SELECT * FROM ads WHERE livetime > UNIX_TIMESTAMP() ORDER BY special, timestamp DESC