2014-11-06 152 views
1

在column_1中,只有1-10行和10行的數字。我試圖找到最大的數字並採取並最終將其添加到另一列。這是MySQL使用MAX函數的正確方法嗎?

private ResultSet nrs; 

nrs = stmt.executeQuery("SELECT MAX(column_1) FROM table"); 

while(nrs.next()){ 
    biggestNum = nrs.getInt("column_1"); 
} 

它繼續拋出錯誤「列」column_1「找不到」。

請幫忙。

+0

的拷問點 - 因爲裏面的部分'{}'只會最多一次迭代,它將使意義用'if'替換'while'。它不會對你的代碼有什麼影響,但它會更清楚地傳達代碼的意圖。 – 2014-11-06 03:27:07

回答

1

更換nrs.getInt("column_1")nrs.getInt(1)

您還沒有指定爲您選擇的值的名稱,所以數據庫會選擇自己。你不知道這個名字會是什麼,所以只需使用列號。

1

不是很熟悉java,但我與SQL。 column_1不存在,因爲它已經被聚合。試試這個:

private ResultSet nrs; 

nrs = stmt.executeQuery("SELECT MAX(column_1) as maxColumn1 FROM table"); 

while(nrs.next()){ 
    biggestNum = nrs.getInt("maxColumn1"); 
} 

但是我敢肯定有一個更好的方式來做到這一點

+0

是的,這也會起作用。 – 2014-11-06 02:36:28

相關問題