sql >> Databasteknik >  >> RDS >> Mysql

JDBC:Hur hämtar man resultatet av SQL COUNT-funktionen från resultatuppsättningen?

Ge ett namn till kolumnen:

ResultSet rs= stmt.executeQuery("select count(name) AS count_name from db.persons where school ='"+sch+"'");
if (rs.next()) {
    int count= rs.getInt("count_name");
}

Du kan också skicka numret på indexet för kolumnen (om du inte vill ändra din fråga) som är 1-baserad. Kontrollera ResultSet#getInt(int columnIndex) :

ResultSet rs= stmt.executeQuery("select count(name) from db.persons where school ='"+sch+"'");
if (rs.next()) {
    int count= rs.getInt(1);
}

Bortsett från detta skulle det vara bättre om du använder en PreparedStatement för att utföra dina frågor har det många fördelar jämfört med vanligt Statement som förklaras här:Skillnaden mellan Statement och PreparedStatement . Din kod skulle se ut så här:

String sql = "select count(name) AS count_name from db.persons where school = ?";
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setString(1, sch);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
    int count = rs.getInt("count_name");
}



  1. Hur man upptäcker om ett värde innehåller minst en numerisk siffra i MySQL

  2. mysql hierarkilagring med stora träd

  3. Hur frågar jag med fält i den nya PostgreSQL JSON-datatypen?

  4. Kan jag köra vilket program som helst utanför mysql genom mysql-utlösare?