Я пытаюсь выполнить SQL-запрос, который кажется простым, но я не понимаю, какой механизм мне следует использовать для достижения этой цели. У меня есть следующая таблица:
| id | playcount | release_date |
| -- | --------- | ------------ |
| 1 | 47712 | 2019-12-27 |
| 2 | 626778 | 2017-07-23 |
| 3 | 827091 | 2019-09-12 |
| 4 | 66419 | 2015-09-05 |
| 5 | 58627 | 2016-09-12 |
| 6 | 60272 | 2017-09-06 |
| 7 | 1762582 | 2017-10-07 |
| 8 | 11280 | 2016-10-12 |
| 9 | 30890 | 2019-10-29 |
| 10 | 715173 | 2019-07-02 |
Я хотел бы найти, какой идентификатор содержит максимум playcount
в год. В этом примере идентификатор с максимальным значением playcount
в 2019 году равен 3
.
И я ищу следующий вывод:
playcount_table
| year | playcount | id |
| ---- | --------- | -- |
| 2019 | 827091 | 3 |
| 2017 | 1762582 | 7 |
| 2016 | 58627 | 5 |
| 2015 | 66419 | 4 |
Мне удалось получитьМаксимальное количество игр в год по следующему запросу:
select to_char(date_trunc('year', TO_DATE(p_table.release_date, 'YYYY-MM-DD')), 'YYYY-MM-DD') as year,
max(p_table.playcount) as playcounts
from playcount_table as p_table
group by year;
Но я не могу получить id
, относящийся к этому максимуму playcount
.
Можете ли вы помочь мне с этим?
Заранее спасибо,