websofter
@websofter
Programmer...

Узнать количество строк по условию MySQL/Java

Как-то проблемно все, есть какое-то решение? Что не делаю никак не выходит. Пробовал разные варианты, в частности вот такой код:
try{
        String query = "Select parent_id FROM chat_rooms WHERE parent_id=2";
			Statement stmt = (Statement) this.connection.createStatement();

			ResultSet rs = stmt.executeQuery(query);

                        rs.last();
                        int count= rs.getRow();//количество строк
			//while (rs.next()) {
                           // count++;
			//} // end while
                        //return count;
      }// end try
       catch (SQLException e) {
			e.printStackTrace();
			// Could not connect to the database
                        System.out.println("Could not connect to the database");
		}
  • Вопрос задан
  • 4490 просмотров
Пригласить эксперта
Ответы на вопрос 2
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
А собственно сам запрос-то отрабатывается? Пробовали его исполнять напрямую? Пробовали получить количество записей через "SELECT count(parent_id) FROM chat_rooms WHERE parent_id=2"
Ответ написан
Комментировать
@Malah
1) Количество строк которое удовлетворяет условию ищется запросом такого вида SELECT count(*) FROM chat_rooms WHERE parent_id=2
2) stmt.executeQuery(query) вернет объект который будет содержать результаты выполнения запроса, а это, в общем смысле, набор строк с которым можно работать через интерфейс ResultSet. В случае запроса из пункта 1, результатом будет набор из ровно одной строки, с одной колонкой, в которой будет содержаться результат выполнения функции count(*) - число строк из таблицы chat_rooms у которых parent_id=2.
3) Вытащить результат можно так:
ResultSet rs = stmt.executeQuery(query);
int count = 0;
if(rs.next()) {
    count = rs.getInt(1);
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы