【发布时间】:2021-12-08 04:37:32
【问题描述】:
我想根据组 ID (ColA) 而不是行进行随机选择。假设我的初始表是这样的:
+---------------------+
|ColA | ColB | ColC |
+---------------------+
| AA C 5 |
| AA C 8 |
| AA C 9 |
| BB D 3 |
| BB D 4 |
| CC E 1 |
| CC E 2 |
| CC E 3 |
| CC E 5 |
+---------------------+
我想得到这样的东西:
+---------------------+
ColA | ColB | ColC
+---------------------+
| AA C 5 |
| AA C 8 |
| AA C 9 |
| CC E 1 |
| CC E 2 |
| CC E 3 |
| CC E 5 |
+---------------------+
假设我想从 Col A 随机获取整个分组。我已经这样做了,但它给了我随机行而不是组
SELECT distinct ColA,ColB, ColC FROM TABLE
ORDER BY RAND()
LIMIT 20000
我会很感激有关如何实现它的任何线索。
【问题讨论】:
-
请澄清规则。您的查询将以随机顺序返回所有可能的
ColA数据。它不会返回样本,因为要限制结果集,您需要通过where、having、join指定一些限制。如何在“类似”结果中仅获得组AA和CC? -
您已经问过almost the same 的问题。目前还不是很清楚你想在这里实现什么。从提供的示例来看,
SELECT * FROM TABLE WHERE ColA != 'BB'应该可以解决问题。你能解释一下你想要达到的目标吗? -
这能回答你的问题吗? Random sample groups instead of rows in SQL
-
不,不会这样做,因为这只是一个例子。我只想要来自 Col A 的所有组的样本。我认为我想要的输出很清楚我想要实现的目标
-
@TBA 不,它没有
标签: sql random pandas-groupby amazon-athena presto