[英]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.