您好,我有一个包含270万条记录的postgresql“TABLE1”。每条记录都有一个可能为空或可能有数据的字段“FIELD1”。我想要一个SELECT语句或方法a)返回TABLE1的前1000个结果,其中FIELD1为空,并b)随机选择一个记录返回到python变量。帮帮我???Psycopg2 - 返回前1000个结果并随机选择一个
0
A
回答
2
对于选择第一1000结果您可以使用您的查询
SELECT field1 FROM table1 ORDER BY id Limit 1000;
结果限制将是一个Python列表。因此,您可以使用python random模块对结果列表进行操作。
+1
postgresql如何选择1000?它是按照主键号码的顺序吗?如果是,我怎样才能获得1000条随机记录? – user2104778
+0
您也可以添加ORDER BY子句来查询。我编辑了我的答案。默认顺序必须是主要ID,但并不总是保证被订购。 –
1
如果性能是不是一个问题:
SELECT *
FROM (
SELECT *
FROM tbl
WHERE field1 IS NULL
ORDER BY id --?? unclear from question
LIMIT 1000
) sub
ORDER BY random()
LIMIT 1;
这将返回1个完全随机行从 “第一” 1000个空行。
“空”意思是NULL
,而“第一”意思是最小的id
。
如果性能是一个问题,你需要很多更具体的。
如果您的情况相匹配,帮助这个相关答案可能:
Best way to select random rows PostgreSQL
相关问题
- 1. mysql + php:选择多个随机结果
- 2. 如何从1000个物品中随机选择一个物品?
- 3. FindAsync返回最近的1000个结果
- 4. 从随机列表中选择并减少下一个选择的结果
- 5. GqlQuery返回随机结果
- 6. 查询返回2个随机和一个特定结果
- 7. psycopg2不返回结果
- 8. 选择一个随机数
- 9. 迭代通过一个数组并返回前10个结果
- 10. 选择一个未显示的随机结果
- 11. 循环遍历一个记录集并使用结果做另一个SQL选择并返回结果
- 12. 如何从一个选择返回随机行
- 13. SQLite的选择查询有时会返回一个随机数
- 14. 返回两个COUNT(*)的结果中选择一个
- 15. 从Python中的前一个选择中随机选择
- 16. 随机选择一个公式,并从列表中回答 - PYTHON
- 17. SQL Server - 从子 - 父 - 子选择并返回多个结果集
- 18. 为什么Hibernate返回随机结果?
- 19. 返回随机结果(按rand()排序)
- 20. HtmlAgilityPack和Selenium Webdriver返回随机结果
- 21. 选择随机结果从MySQL
- 22. 返回下一个结果
- 23. psycopg2 INSERT INTO执行不返回结果
- 24. Adodb:Postgresql从两个表中选择,但返回一组结果
- 25. 返回的选择结果到一个变量MYSQL
- 26. 为什么随机森林回归返回一个非常糟糕的结果?
- 27. 使用order_by&limit CodeIgniter在10中选择5个随机结果?
- 28. 从python列表中返回两个随机选择的组
- 29. 合并两个数组并返回一个结果
- 30. 使用返回随机排一个IQueryable
这个问题可能涉及:http://stackoverflow.com/questions/8674718/best-way-to-select-random-rows- postgresql – svk
您需要定义:“空”,“第一”,您的要求(速度?重复使用?)。请提供一个表格定义。 –