每列30行随机抽样

时间:2017-04-28 01:41:51

标签: mysql random sampling

我有一个非常简单的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查询来做到这一点?

0 个答案:

没有答案