我有一個select語句,我需要先按相關性對它進行排序,得到前十個相關性,按rand()命令排序,然後將其限制爲1,但將其限制爲1我不認爲有可能通過2種不同的順序和限制語句來實現。所以,我的問題是,有沒有解決這個問題的方法?謝謝。在SQL中有兩個不同的順序和限制語句
SELECT id, input, response,
MATCH (
input
)
AGAINST (
'cat frogs trees'
IN NATURAL LANGUAGE
MODE
) AS relevance
FROM allData
HAVING relevance >0
ORDER BY relevance DESC
LIMIT 10
ORDER BY RAND()
LIMIT 1
我建議離開隨機挑到PHP,做休息查詢 –
沒有。在單個查詢中不能有多個'order by'子句,但是您可以按'單個'順序具有多個TERMS。但是由於您的訂購/限制是矛盾的,您不能那樣做。您必須使用子查詢並在每個單獨的查詢中適當地應用限制/排序。 –