在我目前的方法中,我在 sql 查询中使用 order by date
,然后将 back results
设置为一个新数组,通过 php 按 id 对数组进行排序
。
SELECT * FROM table
WHERE
(
MATCH (title,content)
AGAINST ('+$search' IN BOOLEAN MODE)
)
order by date DESC
limit 0,10
我想问一下,有没有sql方法,先order by date
得到10个结果,然后在这10个结果中,再order by id
,仅在一个 sql 查询中
?
最佳答案
在您当前的查询周围包装一个外部查询。
SELECT q.*
FROM (SELECT * FROM table
WHERE
(
MATCH (title,content)
AGAINST ('+$search' IN BOOLEAN MODE)
)
order by date DESC
limit 0,10) q
ORDER BY q.id
关于mysql 按日期排序得到 10 个结果然后再次按 id 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9331644/