繁体   English   中英

Groovy Sql从列中获取最大值

[英]Groovy Sql to get the max value from a column

我有以下Groovy代码从'topic'表中的'id'列返回最大值:

 def rs = sql.executeQuery("select max(id) from topic")

 def maxId = rs.getLong(1)

它不起作用,我收到以下错误:

java.sql.SQLException:oracle.jdbc.driver上的oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:113)处的oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:147)中的列索引无效。 DatabaseError.throwSqlException(DatabaseError.java:209)...

有谁知道正确的代码是什么? 谢谢。

我认为如果你使用firstRow方法会更容易。 您可以通过名称或索引从结果对象中获取值。

按名字:

def row = sql.firstRow("select max(id) as max from topic")
def maxId = row.max

按索引:

def row = sql.firstRow("select max(id) from topic")
def maxId = row[0]

似乎没有人提到rs.getLong(1)中的索引超出范围。 获取字段使用起始索引0. 绑定字段使用起始索引1.为什么? 历史SQL行为。

暂无
暂无

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

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