繁体   English   中英

从Postgresql以随机顺序返回数据

[英]Data is return with a random ordering from postgresql

我们的Java程序正在从postgreSQL中随机获取数据。 如何解决? 为了获得顺序的数据应该怎么做?

我们在PostgreSQL中有一个名为杂货店的表,该表的条目从0到99。java代码正在以随机顺序获取整个表。

connection = DriverManager.getConnection(
        "jdbc:postgresql://localhost/test", "postgres",
        "manafara");
connection.setAutoCommit(false);
Statement st = connection.createStatement();

String sql = "Select * from grocery";


ResultSet rs = st.executeQuery(sql);
Statement st1 = connection.createStatement();

ResultSet rs1 = st1.executeQuery("Select COUNT(*) AS TOTAL from grocery");
int n = 0;
while (rs1.next()) {
    n = rs1.getInt("TOTAL");
}
System.out.println("Count: " + n);

int a = 0;

Double db[][] = new Double[n][2];
while (rs.next()) {
    db[a][0] = (double) rs.getInt(4);
    db[a][1] = rs.getDouble(6);
    a++;
}

报价文件

如果未给出ORDER BY,则以系统认为最快的顺序返回行。

这实际上意味着,如果没有ORDER BY ,则根本无法保证行将以相同的顺序从一个执行转移到另一个执行。

如果您需要一遍又一遍地获取相同顺序的行,则需要在查询中添加ORDER BY子句。 在您的情况下,可能是这样的:

select * from grocery order by id

id值必须唯一,以确保在获取数据时行的顺序相同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM