2012-03-27 183 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组

是我出手吧。这扰乱了表顺序,然后做一个正常的排序