SQL получить значения с максимальной датой путем группировки - PullRequest
0 голосов
/ 14 июля 2020

У меня есть база данных со столбцами:

станция , источник , тип , дата и цена

Я хотел бы получить самую новую цену для каждого типа.

Я пробовал

SELECT max(date) and GROUP BY station, source, type 

, но появляется ошибка «цена должна быть указана в предложении GROUP BY»

Может кто умеет это делать?

Ответы [ 2 ]

0 голосов
/ 14 июля 2020

Вы можете попробовать следующее:

select * from
(    
SELECT station, source, type ,price, row_number() over(partition by type order by date desc) as rn from tablename
)A where rn=1 
0 голосов
/ 14 июля 2020

Если вам нужна самая последняя строка для комбинации столбцов, вы можете использовать row_number():

select t.*
from (select t.*,
             row_number() over (partition by station, source, type order by date desc) as seqnum
      from t
     ) t
where seqnum = 1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...