2012-03-27 195 views
-1

我希望能夠爲每個組選擇一行隨機行,共N行。例如:MySQL - 爲每個組選擇一個隨機記錄,共N行

簡單的表模式:

id shoetype shoename

每個 「基團」 是shoetype,並有多個shoenamesshoetype。我希望能夠選擇總共N行,但每個shoetype只有一個隨機shoename


SELECT * FROM table GROUP BY shoetype ORDER BY RAND()似乎並沒有得到每種類型的隨機一個,但只是第一shoetype ......我不知道如何編寫一個查詢來獲取從每組隨機一個?

回答

0

下面就來達到最佳的方式這

http://forums.mysql.com/read.php?132,185266,194715

+0

這似乎不工作,如果你想隨機輸入每組 – ina 2012-03-28 18:16:50

+0

它確實如果你做一個選擇不同的組名,(選擇RAND SUBSELECT)作爲rand_id ,那麼內部連接記錄上的rand_id以獲取剩餘的數據 – 2012-03-29 13:07:21

0

SELECT * FROM(SELECT * FROM MYTABLE ORDER BY RAND())由shoetype MT組

是我出手吧。這擾亂了表順序,然後做一個正常的排序