簡體   English   中英

MySQL-選擇頂部后如何選擇隨機?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM