q60.sql 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. WITH ss AS (
  2. SELECT
  3. i_item_id,
  4. sum(ss_ext_sales_price) total_sales
  5. FROM store_sales, date_dim, customer_address, item
  6. WHERE
  7. i_item_id IN (SELECT i_item_id
  8. FROM item
  9. WHERE i_category IN ('Music'))
  10. AND ss_item_sk = i_item_sk
  11. AND ss_sold_date_sk = d_date_sk
  12. AND d_year = 1998
  13. AND d_moy = 9
  14. AND ss_addr_sk = ca_address_sk
  15. AND ca_gmt_offset = -5
  16. GROUP BY i_item_id),
  17. cs AS (
  18. SELECT
  19. i_item_id,
  20. sum(cs_ext_sales_price) total_sales
  21. FROM catalog_sales, date_dim, customer_address, item
  22. WHERE
  23. i_item_id IN (SELECT i_item_id
  24. FROM item
  25. WHERE i_category IN ('Music'))
  26. AND cs_item_sk = i_item_sk
  27. AND cs_sold_date_sk = d_date_sk
  28. AND d_year = 1998
  29. AND d_moy = 9
  30. AND cs_bill_addr_sk = ca_address_sk
  31. AND ca_gmt_offset = -5
  32. GROUP BY i_item_id),
  33. ws AS (
  34. SELECT
  35. i_item_id,
  36. sum(ws_ext_sales_price) total_sales
  37. FROM web_sales, date_dim, customer_address, item
  38. WHERE
  39. i_item_id IN (SELECT i_item_id
  40. FROM item
  41. WHERE i_category IN ('Music'))
  42. AND ws_item_sk = i_item_sk
  43. AND ws_sold_date_sk = d_date_sk
  44. AND d_year = 1998
  45. AND d_moy = 9
  46. AND ws_bill_addr_sk = ca_address_sk
  47. AND ca_gmt_offset = -5
  48. GROUP BY i_item_id)
  49. SELECT
  50. i_item_id,
  51. sum(total_sales) total_sales
  52. FROM (SELECT *
  53. FROM ss
  54. UNION ALL
  55. SELECT *
  56. FROM cs
  57. UNION ALL
  58. SELECT *
  59. FROM ws) tmp1
  60. GROUP BY i_item_id
  61. ORDER BY i_item_id, total_sales
  62. LIMIT 100