У меня есть таблица, которая выглядит примерно так:Возврат строки с максимальным значением столбца
date | product | price
--------------------------------
17/01/2015 | milk | 2.54
18/01/2015 | milk | 2.47
23/01/2015 | milk | 2.61
21/01/2015 | eggs | 1.35
04/02/2015 | eggs | 1.36
27/01/2015 | eggs | 1.31
Что мне нужно, это выбрать, что возвращает меня последняя цена каждого продукта, то есть один с максимальная дата. Желаемый результат здесь будет:
23/01/2015 | milk | 2.61
04/02/2015 | eggs | 1.36
Я попытался это:
select max(date), product, price FROM table GROUP BY product, price
, но он не работает, как ожидалось.
Может ли быть несколько записей для одного продукта на ту же дату ? Если да, то как бы вы хотели справиться с этим? Вероятно, вы ищете ['ROW_NUMBER()'] (https://msdn.microsoft.com/en-GB/library/ms186734.aspx) или 'RANK'. –
Нет, всегда будет только одна цена за продукт за одну дату. –