Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как получить запись, соответсвующую максимальному значению поля


Bless ©   (2004-08-11 17:43:00) 

Пример.
Есть таблица t1(kod int, name varchar(10))
Нужно получить строку, которая соответствует максимальному значению kod-а
То есть при налиции строк
1   x
2   y
33  z
4   xx
должно вернуть строку
33   xx

Можно конечно так:
Select * from t1
where kod=select max(kod) from t1

но интересуют варианты поэффективнее (если есть конечно)


Sergey13   (2004-08-12 15:39:00) [1]

Если БД поддерживает нечто вроде TOP или FIRST можно попробовать
select top 1 * from t1
order by kod desc


Bless   (2004-08-12 15:32:00) [2]

По сабжу все ясно. Спасибо.

Deniz[3]>
Должно быть 4 xx. Очепятался. :)


Deniz   (2004-08-12 06:51:00) [3]

А как получилось из
1   x
2   y
33  z
4   xx
----------
33   xx
??????????????
или должно быть
33   z


Мастер   (2004-08-11 17:48:00) [4]

У тебя самый эффективный запрос.


Sandman25   (2004-08-11 17:47:00) [5]

Select * from t1
where kod=(select max(kod) from t1)

>но интересуют варианты поэффективнее (если есть конечно)

быстрее невозможно, особенно если есть индекс по kod


Наверх

Титульная страница Поиск, карта сайта Написать письмо