【发布时间】:2014-07-05 13:58:29
【问题描述】:
问题来了 我需要从我的表中获取创建日期小于 24 小时前的行,然后按喜欢对它们进行排序,然后将它们与同一个表中的其余行联合,但我希望剩余的行按创建日期排序。 换句话说,我需要为每个 SELECT 单独的 ORDER BY 子句。 更清楚地说,它是这样的:
SELECT *
FROM (SELECT *
FROM 'table'
WHERE 'date_created' > timestampadd(hour, -24, now())
ORDER BY 'likes' DESC
UNION
SELECT *
FROM 'table'
WHERE
ORDER BY date_created DESC ) AS Results
LIMIT 10 OFFSET 0
感谢这个很棒的社区:)
【问题讨论】:
-
您在第二个子查询中缺少
WHERE条件。 -
您还在表和列名称周围使用了错误类型的引号。它们应该是反引号——单引号创建文字字符串。
标签: mysql sql-order-by union fetch