使用mysql从组中选择随机行

时间:2018-08-19 07:36:17

标签: mysql

表格-productvariant

_id productid   productname    optionid  optionprice
1   1             product - 1   101        499
2   2             product - 2   105        499
3   1             product - 1   102        499
4   1             product - 1   103        499
5   2             product - 2   106        499
6   2             product - 2   107        499
7   1             product - 1   104        499
8   2             product - 2   108        499

我想使用上表中的productid列进行分组,并且每次执行时都希望有随机行。

预期输出:

_id productid   productname   optionid  optionprice
3    1          product - 1    102         499
6    2          product - 2    107         499

OR

_id productid   productname    optionid optionprice
2    2           product - 2    105       499
7    1           product - 1    104       499

要在每次执行查询时按乘积选择随机行。

谢谢。

1 个答案:

答案 0 :(得分:0)

已经在这里回答:MYSQL Select One Random record from each Category

从上面的链接中获取想法。试试这个:

SELECT inner_nest.* FROM 
( SELECT * FROM productvariant ORDER BY RAND() ) AS inner_nest 
GROUP BY inner_nest.productid