[英]MySQL - How to select random after select top?
我有這樣的查詢:
選擇ID,名稱,圖像,價格,從estore.product進行查看按訂單排序DESC LIMIT 9
我想在該查詢中隨機選擇5條記錄。 我試過了,但是這段代碼不起作用:
SELECT Id, Name, Image, Price, View FROM (
SELECT Id, Name, Image, Price, View FROM estore.product ORDER BY View DESC LIMIT 9)
ORDER BY RAND() LIMIT 5
我能怎么做? 謝謝收看
必須命名子查詢。 嘗試:
LIMIT 9) as SubQueryAlias ORDER BY RAND()
^^^^^^^^^^^^^^^^^^
您可能要去閱讀此線程RAND()的多行替代方法
如果您的表很大(並且作為一個產品表它可能最終會變得很大),則rand()限制是一個很慢的查詢
SELECT Id, Name, Image, Price, View FROM estore.product ORDER BY RAND() LIMIT 5
(將子查詢用於順序並限制相同的選擇是瘋狂的……)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.