Mysql
 sql >> база данни >  >> RDS >> Mysql

JDBC:Как да извлека резултата от функцията SQL COUNT от набора от резултати?

Дайте име на колоната:

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");
}

Можете също така да предадете номера на индекса на колоната (в случай че не искате да променяте заявката си), който е базиран на 1. Проверете 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);
}

Освен това би било по-добре да използвате PreparedStatement за да изпълни вашите заявки, той има много предимства пред обикновения Statement както е обяснено тук:Разлика между изявление и PreparedStatement . Вашият код ще изглежда така:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL - Вътрешно присъединяване с AFTER UPDATE в таблицата

  2. codeIgniter използва mysql_real_escape_string() вместо. проблем с връзката с базата данни

  3. „System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089“ неуспешно

  4. Свързване на две таблици, за да получите цели записи

  5. MySQL динамична кръстосана заявка:Избиране на дъщерни записи като допълнителни колони