Найдите время максимальной продажи для каждой даты - PullRequest
0 голосов
/ 10 июля 2020

У меня есть список продаж по минутам, и я хочу найти время, когда за каждый день происходила самая высокая продажа.

Таблица:

DATE   TIME    SALE
1-1    01:10   10.21
1-1    01:29   11.32
1-2    04:34   12:32
1-2    02:32   13:21
1-3    11:32   12:12
1-3    02:53   18:32

Я хочу быть может получить максимальное значение для каждой даты с указанием времени, когда она произошла.

Ответы [ 2 ]

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

Другой простой и безопасный способ сделать это:

Select date, time, sale from 
(Select date, time, sale, dense_rank() over (partition by date order sale desc) rn from table)
where rn = 1;
0 голосов
/ 10 июля 2020

Вы можете использовать row_number():

select t.*
from (select t.*, row_number() over (partition by date order by sale desc) as seqnum
      from t
     ) t
where seqnum = 1;

Обратите внимание, что если у вас есть связи и вам нужны все значения, используйте вместо этого rank().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...