簡體   English   中英

從子查詢中選擇rand()

[英]select rand() from subquery

我顯然有簡單的查詢:

SELECT tag_id 
from books_tags 
WHERE tag_id IN (SELECT tag_id 
                 FROM books_tags 
                 GROUP BY tag_id 
                 ORDER BY COUNT(tag_id) DESC 
                 LIMIT 100) 
ORDER BY RAND() 
LIMIT 1

我希望從查詢中選擇一個隨機記錄。 它不起作用,錯誤提示LIMIT和ORDER無法出現在子查詢中。

我不想創建臨時表,或在服務器端隨機創建。 任何想法如何將其合並到wone查詢?

您應該能夠使用INNER JOIN / LEFT OUTER JOIN

SELECT a.tag_id 
from books_tags a
INNER JOIN  (SELECT tag_id 
                 FROM books_tags 
                 GROUP BY tag_id 
                 ORDER BY COUNT(tag_id) DESC 
                 LIMIT 100) b ON a.tag_id = b.tag_id
ORDER BY RAND() 
LIMIT 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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