воскресенье, 26 сентября 2021 г.

Топ купленных товаров

Есть таблица purchase с информацией о покупках. Поля pr_name, pr_count, pr_price, pr_date означают наименование товара, количество, цену за единицу и дата покупки товара. Другие поля не рассматриваются для упрощения. Необходимо найти топ 5 товаров за каждый день, купленных за последние 7 дней. Топ означает максимальную продажу, выраженную в прибыли:  количество * цену.

Вариант запроса, решающего задачу:

select pr_date

      ,pr_name

      ,pr_sum

      ,prank

  from (select trunc(pr_date) as pr_date

              ,pr_name

              ,sum(pr_count * pr_pice) as pr_sum

              ,row_number() over(partition by trunc(pr_date) 

                            order by sum(pr_count * pr_pice) descas prank

          from purchase

         where trunc(pr_date) > trunc(sysdate - 7)

         group by trunc(pr_date)

                 ,pr_name)

where prank <= 5;



Комментариев нет:

Отправить комментарий