我有一张大桌子,其中的一列有客户ID。我想随机选择3%的客户及其记录。每个客户可能有数千条记录/行。因此,这里的特定列是客户ID。
这是我的做法,但这是不正确的:
Select *
FROM
my_table group by customer_iD
WHERE
rand() < 0.3
;
答案 0 :(得分:1)
一种方法是:
select t.*
from mytable t
where t.customer_id in (select t2.customer_id
from mytable t2
group by t2.customer_id
having rand() < 0.3
);