我在MySQL中有一個包含列名稱category
的表格。 我想寫一個查詢,將返回從每個category
2個隨機記錄。從MySQL中的每個'group by'類別檢索任意數量的隨機行
這裏是我用來獲取每個category
最高值2個記錄在我的rating
列代碼:
SELECT e1.*
FROM entries AS e1
WHERE (SELECT Count(*)
FROM entries AS e2
WHERE e2.category = e1.category
AND e1.rating <= e2.rating) <= 2
ORDER BY category,
rating DESC
檢查這個環節出去看一個表,一些樣本數據和上面的查詢: http://sqlfiddle.com/#!9/bab8e/1
你究竟需要什麼......每個類別的隨機記錄對?或者什麼,這是否涉及查詢你包括..!? – Chella
該查詢只是爲了顯示我正在處理的內容,例如我在每個類別的表10中有30個條目,我想檢索這些類別中的每個類別的2個隨機條目。這將返回6個結果。 – Ivar
看看這篇文章:http://stackoverflow.com/questions/984396/how-to-get-mysql-random-integer-range – ntgCleaner