query89.sql 1.0 KB

12345678910111213141516171819202122232425262728
  1. select *
  2. from(
  3. select i_category, i_class, i_brand,
  4. s_store_name, s_company_name,
  5. d_moy,
  6. sum(ss_sales_price) sum_sales,
  7. avg(sum(ss_sales_price)) over
  8. (partition by i_category, i_brand, s_store_name, s_company_name)
  9. avg_monthly_sales
  10. from item, store_sales, date_dim, store
  11. where store_sales.ss_item_sk = item.i_item_sk and
  12. store_sales.ss_sold_date_sk = date_dim.d_date_sk and
  13. store_sales.ss_store_sk = store.s_store_sk and
  14. d_year in (2000) and
  15. ((i_category in ('Home','Books','Electronics') and
  16. i_class in ('wallpaper','parenting','musical')
  17. )
  18. or (i_category in ('Shoes','Jewelry','Men') and
  19. i_class in ('womens','birdal','pants')
  20. ))
  21. group by i_category, i_class, i_brand,
  22. s_store_name, s_company_name, d_moy) tmp1
  23. where case when (avg_monthly_sales <> 0) then (abs(sum_sales - avg_monthly_sales) / avg_monthly_sales) else null end > 0.1
  24. order by sum_sales - avg_monthly_sales, s_store_name
  25. limit 100;