Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Работа агрегатной функции max()

57K
21 февраля 2010 года
AlexInspire
1 / / 21.02.2010
Надо вернуть значение поля из записи, где в этой записи агрегатная sql функция Max() нашла максимум по другому полю.
SELECT field1 FROM table
WHERE max(field2) не проходит

SELECT field1,max(field2) FROM table тоже

Вроде ситуация типичная, но как это сделать?

Проходит
select field1, max(field2) from tb3
group by filed1 - но этого не требуется, надо просто найти макс одного поля и вернуть значение соседнего, а не группировать соседние и находить максимумы, соответствующие этим подмножествам.))
412
21 февраля 2010 года
grgdvo
323 / / 04.07.2007
копать в сторону подзапросов
как-то так...
 
Код:
select
  t1.field1
from
  tb3 t1
where
  t1.field2 = (select max(field2) from tb3 t2 where t2.field1 = t1.field1)
5
26 февраля 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: AlexInspire
Надо вернуть значение поля из записи, где в этой записи агрегатная sql функция Max() нашла максимум по другому полю.
SELECT field1 FROM table
WHERE max(field2) не проходит

SELECT field1,max(field2) FROM table тоже

Вроде ситуация типичная, но как это сделать?


T-SQL:

 
Код:
SELECT TOP 1 field1, field2
FROM table
ORDER BY field2 DESC

В MySQL вместо TOP нужно использовать LIMIT.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог