MySQL - 按一列排序,然后按另一列排序

MySQL - Order by one column for a limit then by another column for a limit

我正在开发一个应用程序来显示包含 "Time created" 和 "Number of Likes" 列的行。

我正在尝试 return 我的查询的前 5 个结果包含最喜欢的行,然后是最近日期的剩余 95 个结果,没有重复。

我当前的查询只完成按日期排序。

"SELECT * FROM `$category` ORDER BY time DESC LIMIT 100"

我尝试在一个查询中执行的操作是否可行?还是我必须执行两个查询并过滤掉重复的行?

UNION 自动删除重复行,括号外的 LIMIT 适用于整个查询。

(SELECT *, like_count AS likes FROM category ORDER BY like_count DESC LIMIT 5)
UNION
(SELECT *, 0 AS likes FROM category ORDER BY time DESC)
ORDER BY likes DESC, time DESC
LIMIT 100