JDBC - 列函数的ResultSet值

时间:2014-06-18 03:27:36

标签: java sql jdbc resultset

如何获得查询结果 - AVG(DIST)。

MySQL在“AVG(DIST)”列下显示此结果 - 没有其他线索。

如何从ResultSet实例(以下代码中的rs)中读取此值?

PreparedStatement ps = c.prepareStatement("SELECT AVG(DIST) FROM POOL_TABLE");
ResultSet rs = ps.executeQuery();

ResultSet似乎是按列名称引用它们。

不熟悉JDBC - 但是!

TIA。

3 个答案:

答案 0 :(得分:6)

您可以在查询中使用别名,并以两种方式中的任何一种方式检索值。!

PreparedStatement ps = c.prepareStatement("SELECT AVG(DIST) AS AVERAGE_ALIAS FROM POOL_TABLE");
ResultSet rs = ps.executeQuery();

double avg = 0;
while (rs.next()) {
    avg = rs.getDouble(1);
    // OR
    avg= rs.getDouble("AVERAGE_ALIAS");
}

答案 1 :(得分:2)

这是:

double avg = 0;
while (rs.next()) {
    avg = rs.getDouble(1);
}

如果查询中有许多聚合函数,请使用别名。见下面的答案!

答案 2 :(得分:0)

用于插入数据的PreparedStatement, 我认为你应该使用Statement。

Statement stmt = c.createStatement();
ResultSet rs = stmt.executeQuery("SELECT AVG(DIST) FROM POOL_TABLE");
if( rs.next() ){
  System.out.print( rs.getString(1) );
}

我希望这个例子可以帮助你:)