我似乎无法找到一个解决这个确切问题的方法,如果不将两个或更多的查询通过操作链接在一起(我以前在postgresql中尝试过一次随机抽样 cur.execute("select distinct group from data where random() < {0}".format(rand_coef))
,但我无法将结果数组组合到单个查询中,也无法指定确切的n值。)
假设的数据集和查询如下:
假设我想从下面的数据中得到n=3个随机组。
id, group, value
1,a,23
1,a,3
1,b,2
1,a,432
1,b,123
1,d,23
1,d,11
1,c,23
1,c,234
1,a,223
1,c,32
查询的一个示例结果是n=3个随机组(即b、c、d):
id, group, value
1,b,2
1,b,123
1,d,23
1,d,11
1,c,23
1,c,234
1,c,32
这是怎么回事?
1条答案
按热度按时间b4lqfgs41#
一种方法是:
请注意
group
对于列来说是一个非常糟糕的名称,因为它是一个sql关键字。