with september_sales as (
select distinct sku,
sum(price) OVER (PARTITION BY sku) as revenue,
count(1) OVER (PARTITION BY sku) as sales_count,
sum(price) OVER (PARTITION by 0) as sales_total
from invoice_items
where date_part('month',created_at) = 9
)
select sku,
revenue::money,
sales_count,
sales_total::money,
trunc((revenue/sales_total * 100),4) as percentage
from september_sales
Не написать вот так?
select sku,
revenue::money,
sales_count,
sales_total::money,
trunc((revenue/sales_total * 100),4) as percentage
from (
select distinct sku,
sum(price) OVER (PARTITION BY sku) as revenue,
count(1) OVER (PARTITION BY sku) as sales_count,
sum(price) OVER (PARTITION by 0) as sales_total
from invoice_items
where date_part('month',created_at) = 9
) t
Вроде проще и читается и пишется. Особенно если еще джоины и подселекты нужно добавить. Или база по другому будет обрабатывать?
Интересно, а мне одному уже начинают надоедать каждодневные «открытия» типа «на 3D принтере отпечатали первую ручку», «на 3D принтере отпечатали первую статуэтку», «отпечатали бутылку», крышку для унитаза, кусок лица, межпозвоночный диск, ухо и т.п.?
Не написать вот так?
Вроде проще и читается и пишется. Особенно если еще джоины и подселекты нужно добавить. Или база по другому будет обрабатывать?