sql >> Database teknologi >  >> RDS >> Mysql

JDBC:Hvordan henter man resultatet af SQL COUNT-funktionen fra resultatsættet?

Giv et navn til kolonnen:

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 også videregive nummeret på kolonnens indeks (i tilfælde af at du ikke ønsker at ændre din forespørgsel), som er 1 baseret. Tjek 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);
}

Bortset fra dette ville det være bedre, hvis du bruger en PreparedStatement til at udføre dine forespørgsler har det mange fordele i forhold til almindelig Statement som forklaret her:Forskel mellem Statement og PreparedStatement . Din kode vil se sådan ud:

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. OPTION (GENKOMPILER) er altid hurtigere; Hvorfor?

  2. MySQL-forespørgsel til at tælle unikke domæner fra e-mail-adressefeltet

  3. Sådan bestiller du 1,2,3 ikke 1, 10, 11, 12 i mySQL

  4. Sådan arrangeres og grupperes MySQL-resultater