簡體   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