6 лучших мин средних элементов postgresql

Это проблема с кодом режима отладки.

Единственное надежное решение (для вызовов функций) - это весь код отладки внутри самого макроса.

Для Например, вы могли бы использовать следующий код вместо этого:

LOG("message", GetCategory());

Тогда препроцессор уничтожит все заявление в Release, и вам больше не придется об этом беспокоиться.

1
задан Justin 1 February 2019 в 12:13
поделиться

1 ответ

Я думаю, вы хотите:

select tt.category,  tt.shop_name, tt.price,  tt.updated, tt.avg_price,
       dense_rank() over (partition by tt.category order by tt.avg_price desc)
from (select category, lower(shop_name) as shop_name,
             (price::int) as price, updated::date as updated,
             avg(price) over (partition by category,  lower(shop_name)) as avg_price 
      from prices
     ) tt

Я упростил некоторые из логики, но главное изменение - partition by для rank(). Вы, кажется, хотите рейтинг для каждого магазина. dense_rank() также более уместно.

Если вы хотите дифференцировать категории с одинаковой переизбыточной ценой:

       dense_rank() over (partition by tt.shop_name order by tt.avg_price desc, category)
0
ответ дан Gordon Linoff 1 February 2019 в 12:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: