Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > SQL and ResultSet


Автор: Guest_Сергей 23.3.2003, 01:14
Всем привет!

Мне необходимо из таблицы достать всего одну строку, в которой поле id имеет максимальное значение. (id – счетчик).
Я перепробовал кучу вариантов и все мимо.


ResultSet rs = statement.executeQuery ("SELECT max(id), ip, d1 FROM table1 ");
or
ResultSet rs = statement.executeQuery ("SELECT id, ip, d1 FROM table1 WHERE max(id) ");
or
ResultSet rs = statement.executeQuery ("SELECT id, ip, d1 FROM table1 WHERE id = max(id) ");
or
ResultSet rs = statement.executeQuery ("SELECT id, ip, d1 FROM table1 WHERE id = max(id.table1) ");

Если не выставлять id как максимальное значение, то все работает.

Автор: CMEX_ 24.3.2003, 12:19
Ты вручную что-ли генеришь ключи? Почему для этого автогенерацию, или сиквенсы не исопользовать?
Какая БД?

Автор: AntonSaburov 26.3.2003, 21:08
Что-то вроде такого попробуй.

ResultSet rs = statement.executeQuery ("SELECT MAX(id) AS MAX_ID FROM table1");
while(rs.next()) {
long a = rs.getLong("MAX_ID");
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)