q44.sql 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. --!syntax_pg
  2. --TPC-DS Q44
  3. -- start query 1 in stream 0 using template ../query_templates/query44.tpl
  4. select asceding.rnk, i1.i_product_name best_performing, i2.i_product_name worst_performing
  5. from(select *
  6. from (select item_sk,rank() over (order by rank_col asc) rnk
  7. from (select ss_item_sk item_sk,avg(ss_net_profit) rank_col
  8. from plato.store_sales ss1
  9. where ss_store_sk = 2
  10. group by ss_item_sk
  11. having avg(ss_net_profit) > 0.9::numeric*(select avg(ss_net_profit) rank_col
  12. from plato.store_sales
  13. where ss_store_sk = 2
  14. and ss_hdemo_sk is null
  15. group by ss_store_sk))V1)V11
  16. where rnk < 11) asceding,
  17. (select *
  18. from (select item_sk,rank() over (order by rank_col desc) rnk
  19. from (select ss_item_sk item_sk,avg(ss_net_profit) rank_col
  20. from plato.store_sales ss1
  21. where ss_store_sk = 2
  22. group by ss_item_sk
  23. having avg(ss_net_profit) > 0.9::numeric*(select avg(ss_net_profit) rank_col
  24. from plato.store_sales
  25. where ss_store_sk = 2
  26. and ss_hdemo_sk is null
  27. group by ss_store_sk))V2)V21
  28. where rnk < 11) descending,
  29. plato.item i1,
  30. plato.item i2
  31. where asceding.rnk = descending.rnk
  32. and i1.i_item_sk=asceding.item_sk
  33. and i2.i_item_sk=descending.item_sk
  34. order by asceding.rnk
  35. limit 100;
  36. -- end query 1 in stream 0 using template ../query_templates/query44.tpl