我有一个非常简单的MySQL表,如下所示:
CREATE TABLE tdata (
id varchar(256),
color varchar(256)
);
此表包含
等数据bill,orange
bill,orange
bill,umber
(...)
bill,yellow
jerry,blue
jerry,purple
(...)
jerry,blue
每个ID都有许多不保证唯一的颜色。我希望为每个id选择20种颜色的独特随机样本,以便输出看起来像:
bill,orange
bill,umber
(...)
bill,chartreuse
jerry,blue
(and so on)
每个id可能少于或多于20种颜色,但如果返回的颜色超过20种,我想丢弃其余的颜色。
完整表几乎是100k行,因此我无法在查询中指定每个ID。是否有一个优雅的MySQL查询来做到这一点?