with t as (
select a.product_id, product_name,
quantity as quantity,
right(sale_month,2) as month
from products_underline a
join sales_underline b on a.product_id=b.product_id
where left(sale_month,4)=2024 and right(sale_month,2) in (1, 2, 3, 4, 5, 6)
)
select DISTINCT product_id, product_name,
sum(monthly_quantity) over (partition by product_id) as total_sales,
max(monthly_quantity) over (partition by product_id) as max_monthly_sales,
min(monthly_quantity) over (partition by product_id) as min_monthly_sales,
round(avg(monthly_quantity) over (partition by product_id)) as avg_monthly_sales
from
(
select product_id, product_name, month, sum(quantity) as monthly_quantity
from t
group by product_id, product_name, month
) temp
order by product_id