query58.sql 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. select ss_items.item_id
  2. ,ss_item_rev
  3. ,ss_item_rev/(ss_item_rev+cs_item_rev+ws_item_rev)/3 * 100 ss_dev
  4. ,cs_item_rev
  5. ,cs_item_rev/(ss_item_rev+cs_item_rev+ws_item_rev)/3 * 100 cs_dev
  6. ,ws_item_rev
  7. ,ws_item_rev/(ss_item_rev+cs_item_rev+ws_item_rev)/3 * 100 ws_dev
  8. ,(ss_item_rev+cs_item_rev+ws_item_rev)/3 average
  9. FROM
  10. ( select i_item_id item_id ,sum(ss_ext_sales_price) as ss_item_rev
  11. from store_sales
  12. JOIN item ON store_sales.ss_item_sk = item.i_item_sk
  13. JOIN date_dim ON store_sales.ss_sold_date_sk = date_dim.d_date_sk
  14. JOIN (select d1.d_date
  15. from date_dim d1 JOIN date_dim d2 ON d1.d_week_seq = d2.d_week_seq
  16. where d2.d_date = '1998-08-04') sub ON date_dim.d_date = sub.d_date
  17. group by i_item_id ) ss_items
  18. JOIN
  19. ( select i_item_id item_id ,sum(cs_ext_sales_price) as cs_item_rev
  20. from catalog_sales
  21. JOIN item ON catalog_sales.cs_item_sk = item.i_item_sk
  22. JOIN date_dim ON catalog_sales.cs_sold_date_sk = date_dim.d_date_sk
  23. JOIN (select d1.d_date
  24. from date_dim d1 JOIN date_dim d2 ON d1.d_week_seq = d2.d_week_seq
  25. where d2.d_date = '1998-08-04') sub ON date_dim.d_date = sub.d_date
  26. group by i_item_id ) cs_items
  27. ON ss_items.item_id=cs_items.item_id
  28. JOIN
  29. ( select i_item_id item_id ,sum(ws_ext_sales_price) as ws_item_rev
  30. from web_sales
  31. JOIN item ON web_sales.ws_item_sk = item.i_item_sk
  32. JOIN date_dim ON web_sales.ws_sold_date_sk = date_dim.d_date_sk
  33. JOIN (select d1.d_date
  34. from date_dim d1 JOIN date_dim d2 ON d1.d_week_seq = d2.d_week_seq
  35. where d2.d_date = '1998-08-04') sub ON date_dim.d_date = sub.d_date
  36. group by i_item_id ) ws_items
  37. ON ss_items.item_id=ws_items.item_id
  38. where
  39. ss_item_rev between 0.9 * cs_item_rev and 1.1 * cs_item_rev
  40. and ss_item_rev between 0.9 * ws_item_rev and 1.1 * ws_item_rev
  41. and cs_item_rev between 0.9 * ss_item_rev and 1.1 * ss_item_rev
  42. and cs_item_rev between 0.9 * ws_item_rev and 1.1 * ws_item_rev
  43. and ws_item_rev between 0.9 * ss_item_rev and 1.1 * ss_item_rev
  44. and ws_item_rev between 0.9 * cs_item_rev and 1.1 * cs_item_rev
  45. order by item_id ,ss_item_rev
  46. limit 100;