我的桌子看起来像那样:
ID | title | author | timestamp | livetime | special
我的目标是从表中选择all,其中livetime大于当前时间戳,并按时间戳desc排序。但是“special”为true的记录必须在第一个(当然,也是有序的)。只能使用MySQL吗?
我的SQL查询看起来:
SELECT * FROM ads WHERE livetime > UNIX_TIMESTAMP() ORDER BY timestamp DESC
答案 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