2013-04-25 39 views
0

我傳遞下面的查詢ResultSet對象:如何從ResultSet對象獲取COUNT?

String query = "SELECT COUNT(DISTINCT KEY), SOURCE FROM MY_TBL\n" + 
      "GROUP BY SOURCE\n" + 
      "ORDER BY SOURCE"; 

我想捕捉我正在爲每個源的數量和它們歸納成一個總。如何通過ResultSet捕獲這些計數,因爲COUNT不是ResultSet中的列名,我不認爲我可以通過rs.getInt("COUNT")返回它的值嗎?

回答

9

getIntoverloaded,使用分度(int),而不是列名:

rs.getInt(1); // the first column is 1 
0

嘗試有別名

String query = "SELECT COUNT(DISTINCT KEY) AS COUNT, SOURCE FROM MY_TBL\n" + 
     "GROUP BY SOURCE\n" + 
     "ORDER BY SOURCE"; 
0

我認爲這是更好地使用

Statement st = conn.createStatement(); 
ResultSet rs = st.executeQuery("SELECT * from Customer"); 
ResultSetMetaData rsmd = rs.getMetaData(); 

int numCols = rsmd.getColumnCount(); 
-1

我認爲「getColumnCount」retinto列數在一個表而不是行數...