您好我有一个拥有270万条记录的postgresql“TABLE1”。每个记录都有一个字段“FIELD1”,可能是空的或可能有数据。我想要一个SELECT语句或方法,a)返回TABLE1的前1000个结果,其中FIELD1为空,b)随机选择其中一个记录返回python变量。帮助???
答案 0 :(得分:2)
要选择前1000个结果,您可以在查询中使用限制
SELECT field1 FROM table1 ORDER BY id Limit 1000;
结果将是python中的列表。因此,您可以使用python random模块对结果列表进行操作。
答案 1 :(得分:1)
如果表现不是问题:
SELECT *
FROM (
SELECT *
FROM tbl
WHERE field1 IS NULL
ORDER BY id --?? unclear from question
LIMIT 1000
) sub
ORDER BY random()
LIMIT 1;
这将从“第一个”1000个空行返回1个完全随机的行
“Empty”表示NULL
,“first”表示最小id
。
如果需要考虑表现,则需要更具体
如果您的情况匹配,这个相关的答案可能有所帮助:
Best way to select random rows PostgreSQL