如何从postgreSQL表中检索随机数据行?

时间:2011-03-29 12:57:43

标签: c# postgresql random

我在PostgreSQL服务器数据库上有一个几乎 300万行的表,我需要将所有行保存到CSV文件中。这里的问题是,每次运行流程时,行必须以不同的随机顺序保存。

值得注意的是它是一个C#WinForms应用程序。

我尝试将数据加载到List<>并且使用了一个洗牌算法,但它需要永远完成,我真的需要它快速。我认为直接在查询中执行它会快得多,但我不知道如何做到这一点。

2 个答案:

答案 0 :(得分:3)

通常,您只需ORDER BY数据库风格的随机函数,例如

SELECT * FROM table ORDER BY RANDOM()

这可能与清洗列表一样慢,具体取决于数据库服务器或产品。

答案 1 :(得分:2)

请参阅此问题Selecting random rows

查看此精彩链接Depesz MY THOUGHTS ON GETTING RANDOM ROW