query51.sql 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. -- start query 1 in stream 0 using template query51.tpl and seed 1819994127
  2. WITH web_v1 as (
  3. select
  4. ws_item_sk item_sk, d_date,
  5. sum(ws_sales_price_s) over (partition by ws_item_sk order by d_date rows between unbounded preceding and current row) cume_sales from (
  6. select
  7. ws_item_sk, d_date,
  8. sum(ws_sales_price) ws_sales_price_s
  9. from web_sales
  10. ,date_dim
  11. where ws_sold_date_sk=d_date_sk
  12. and d_month_seq between 1212 and 1212+11
  13. and ws_item_sk is not NULL
  14. group by ws_item_sk, d_date) sub1),
  15. store_v1 as (
  16. select
  17. ss_item_sk item_sk, d_date,
  18. sum(ss_sales_price_s) over (partition by ss_item_sk order by d_date rows between unbounded preceding and current row) cume_sales from (
  19. select
  20. ss_item_sk, d_date,
  21. sum(ss_sales_price) ss_sales_price_s
  22. from store_sales
  23. ,date_dim
  24. where ss_sold_date_sk=d_date_sk
  25. and d_month_seq between 1212 and 1212+11
  26. and ss_item_sk is not NULL
  27. group by ss_item_sk, d_date) sub2)
  28. select *
  29. from (select item_sk
  30. ,d_date
  31. ,web_sales
  32. ,store_sales
  33. ,max(web_sales)
  34. over (partition by item_sk order by d_date rows between unbounded preceding and current row) web_cumulative
  35. ,max(store_sales)
  36. over (partition by item_sk order by d_date rows between unbounded preceding and current row) store_cumulative
  37. from (select case when web.item_sk is not null then web.item_sk else store.item_sk end item_sk
  38. ,case when web.d_date is not null then web.d_date else store.d_date end d_date
  39. ,web.cume_sales web_sales
  40. ,store.cume_sales store_sales
  41. from web_v1 web full outer join store_v1 store on (web.item_sk = store.item_sk
  42. and web.d_date = store.d_date)
  43. )x )y
  44. where web_cumulative > store_cumulative
  45. order by item_sk
  46. ,d_date
  47. limit 100;
  48. -- end query 1 in stream 0 using template query51.tpl