我有一张这样的table
| ID|类别|产物|
| - -----|- -----|- -----|
| 1| 1| p1|
| 2| 1| P2|
| 3| 1| p3|
| 4| 1| p4|
| 5个|2|第五层|
| 六|2|第6页|
| 七个|2| p7|
| 八|3| p8|
| 九个|3| p9|
| 十个|3| p10|
我尝试为每个类别选择一个随机产品。
结果如下:
| 类别|产物|
| - -----|- -----|
| 1| p3|
| 2| p7|
| 3| p8|
我尝试了这个查询,给我随机但不为每个类别没有重复SELECT类别,产品FROM表WHERE类别IN(1,2,3)ORDER BY RAND()LIMIT N
3条答案
按热度按时间iugsix8n1#
也许可以尝试使用与每个类别相关的子查询执行以下操作:
o2gm4chl2#
您可以按以下方式执行此操作:
Demo here
iezvtpos3#
另一种方法是使用
PARTITION BY
: