【发布时间】:2019-01-25 16:24:43
【问题描述】:
表格 - 产品变体
_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
或
_id productid productname optionid optionprice
2 2 product - 2 105 499
7 1 product - 1 104 499
希望在每次执行查询时按产品选择随机行。
提前谢谢你。
【问题讨论】:
-
如果您正在寻找最大值或最小值而不是随机值,您知道如何解决问题吗?
-
@royg 看到链接的问题是关于 mssql,我不相信它是重复的(尽管我接受这个问题之前已经被问过)
-
@Strawberry 是的,SELECT MAX(optionprice) FROM (SELECT * FROM productvariant ORDER BY RAND()) temp GROUP BY temp.productid
-
@RoyG - 不确定,它是否重复,但您在上面建议的链接没有使用 group by 子句,实际上这里的问题是由于 group by。
-
!! @Rush1312 那是“不”!!
标签: mysql