我有一个包含一组值的表格,表格示例是
ID | Customer_name | workorder
1 | abc | dispatch
2 | xyz | not_dispatch
3 | jdk | dispatch
这总共持续了 100 万行。现在我想将这个数据集采样到 5000 行,我想要 3400 个工作单作为“not_dispatch”,1600 个工作单在样本中使用“dispatch”。 如何在 PostgreSQL 中完成此操作。
最佳答案
远非高效,但有效:
SELECT *
FROM (
SELECT * FROM my_table
WHERE workorder = 'dispatch' -- other filters
ORDER BY random() LIMIT 1600) sub1
UNION
SELECT *
FROM (
SELECT * FROM my_table
WHERE workorder = 'not_dispatch' -- other filters
ORDER BY random() LIMIT 3400) sub2;
关于postgresql - 对 postgreSQL 中特定列值的计数进行采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36723387/