| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > СУБД, общие вопросы > SQL запрос, |
| Автор: Guest_Сергей 25.3.2003, 03:33 |
| Всем привет! Мне необходимо из таблицы достать всего одну строку, в которой поле id имеет максимальное значение. (id – счетчик). Я перепробовал кучу вариантов и все мимо. Это SQL запрос, который в принципе должен подходить под любую базу. 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 как максимальное значение, то все работает. |
| Автор: Vit 25.3.2003, 05:19 |
| Select max(id) From Table1 - но тогда нельзя другие параметры Есть другие варианты: SELECT max(id), ip, d1 FROM table1 Group By ip, d1 Или SELECT top 1 id, ip, d1 FROM table1 Order by id desc |
| Автор: U-gene 25.3.2003, 18:52 |
| 1) SELECT max(id), ip, d1 FROM table1 Group By ip, d1 Ну это не то! То есть СОВСЕМ не то. 2) ТОР - может быть, но явно не стандартное ср-во Следующий вариант будет работать точно SELECT * FROM table1 WHERE id IN (SELECT max(id) FROM table1) |