select
t1.field1
from
tb3 t1
where
t1.field2 = (select max(field2) from tb3 t2 where t2.field1 = t1.field1)
Работа агрегатной функции max()
SELECT field1 FROM table
WHERE max(field2) не проходит
SELECT field1,max(field2) FROM table тоже
Вроде ситуация типичная, но как это сделать?
Проходит
select field1, max(field2) from tb3
group by filed1 - но этого не требуется, надо просто найти макс одного поля и вернуть значение соседнего, а не группировать соседние и находить максимумы, соответствующие этим подмножествам.))
как-то так...
Код:
Цитата: AlexInspire
Надо вернуть значение поля из записи, где в этой записи агрегатная sql функция Max() нашла максимум по другому полю.
SELECT field1 FROM table
WHERE max(field2) не проходит
SELECT field1,max(field2) FROM table тоже
Вроде ситуация типичная, но как это сделать?
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
FROM table
ORDER BY field2 DESC
В MySQL вместо TOP нужно использовать LIMIT.