我如何改变从Postgresql获得的结果?

时间:2016-12-19 08:19:20

标签: python postgresql

我在python脚本中使用psycopg2:

  conn = psycopg2.connect(......)
  cur = conn.cursor()
  cur.execute("select * from table1")
  rows = cur.fetchall()
  for a1 in rows: # how to shuffle them?

每次检索行时,我希望行的顺序不同。我怎么能这样做?

更新

行数约为50.000

1 个答案:

答案 0 :(得分:3)

如果计数不是很大,您可以使用random.shuffle

from random import shuffle

...

rows = list(cur.fetchall())
shuffle(rows)
# do what you need with the suffled rows

否则您可以按随机顺序选择项目。在Postgres有办法做到这一点:

1)Best way to select random rows PostgreSQL

2)quick random row selection in Postgres