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