q50.sql 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. SELECT
  2. s_store_name,
  3. s_company_id,
  4. s_street_number,
  5. s_street_name,
  6. s_street_type,
  7. s_suite_number,
  8. s_city,
  9. s_county,
  10. s_state,
  11. s_zip,
  12. sum(CASE WHEN (sr_returned_date_sk - ss_sold_date_sk <= 30)
  13. THEN 1
  14. ELSE 0 END) AS `30 days `,
  15. sum(CASE WHEN (sr_returned_date_sk - ss_sold_date_sk > 30) AND
  16. (sr_returned_date_sk - ss_sold_date_sk <= 60)
  17. THEN 1
  18. ELSE 0 END) AS `31 - 60 days `,
  19. sum(CASE WHEN (sr_returned_date_sk - ss_sold_date_sk > 60) AND
  20. (sr_returned_date_sk - ss_sold_date_sk <= 90)
  21. THEN 1
  22. ELSE 0 END) AS `61 - 90 days `,
  23. sum(CASE WHEN (sr_returned_date_sk - ss_sold_date_sk > 90) AND
  24. (sr_returned_date_sk - ss_sold_date_sk <= 120)
  25. THEN 1
  26. ELSE 0 END) AS `91 - 120 days `,
  27. sum(CASE WHEN (sr_returned_date_sk - ss_sold_date_sk > 120)
  28. THEN 1
  29. ELSE 0 END) AS `>120 days `
  30. FROM
  31. store_sales, store_returns, store, date_dim d1, date_dim d2
  32. WHERE
  33. d2.d_year = 2001
  34. AND d2.d_moy = 8
  35. AND ss_ticket_number = sr_ticket_number
  36. AND ss_item_sk = sr_item_sk
  37. AND ss_sold_date_sk = d1.d_date_sk
  38. AND sr_returned_date_sk = d2.d_date_sk
  39. AND ss_customer_sk = sr_customer_sk
  40. AND ss_store_sk = s_store_sk
  41. GROUP BY
  42. s_store_name, s_company_id, s_street_number, s_street_name, s_street_type,
  43. s_suite_number, s_city, s_county, s_state, s_zip
  44. ORDER BY
  45. s_store_name, s_company_id, s_street_number, s_street_name, s_street_type,
  46. s_suite_number, s_city, s_county, s_state, s_zip
  47. LIMIT 100