我有大量数据,需要按组进行处理。
在图像中具有表结构
如何按组检索它们? (首先获取组1,进程。接下来,获取组2,进程..依此类推。)分组基于应该相等的pos列。
我一直在阅读有关对同一张表进行基本连接的引用,但是对我来说这是不可能的,因为它返回的数据量很大,这将导致OutOfMemoryError。
最佳答案
您将需要两个光标,一个用于选择不同的组,另一个用于分别处理每个组。
//Assuming you have a Connection conn;
PreparedStatement groupsPS =
conn.prepareStatement("SELECT distinct pos from yourtable");
ResultSet groupsRS = groupsPS.executeQuery();
PreparedStatement groupdataPS =
conn.prepareStatement("SELECT * from yourtable where pos = ?");
ResultSet groupdataRS = null;
while(groupsRS.next())
{
groupdataPS.setString(1, groupsRS.getString("pos"));
groupdataRS = groupdataPS.executeQuery();
while(groupsRS.next())
{
//process your data here
}
groupdataRS.close();
}
groupsRS.close();
groupdataPS.close();
groupsPS.close();
关于java - 按组获取行MySQL Java,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34221162/