2
一個的每個值我使用MySQL的和我有一個這樣的表:讀取多隨機值某一領域
| id |類別|字段1 |字段2 |
值類別字段不是唯一的。
我想爲每個類別值
我無法找到在一個查詢的解決方案取5個隨機行。
你能幫我解決這個問題嗎?
謝謝
編輯: 我發現這一點:
SELECT t.*
FROM (
SELECT @lim := 5,
@cg := -1
) vars,
table_example t
WHERE CASE WHEN @cg <> category THEN @r := @lim ELSE 1 END > 0
AND (@r := @r - 1) >= 0
AND (@cg := category) IS NOT NULL
ORDER BY
category , id
但在這種情況下,提取5行對每個類別的值(但它是由ID排序)。我試圖調整,要隨機排序,但我無法找到自己滿意的東西......
我想你會需要一個程序來做到這一點。我不相信一個查詢可以做到這一點。 – Nik 2011-04-22 16:50:42
我對MYSQL語言不是很有經驗,你說的程序是什麼意思? – pauldid 2011-04-22 17:45:12
存儲過程或函數可以獲取每個類別,爲每個類別獲取五條記錄,並構建一切結果表。這可能是你最好的選擇。你想要的對於單個查詢來說非常複雜。 – Nik 2011-04-22 18:13:23