q1.sql 636 B

12345678910111213141516171819
  1. WITH customer_total_return AS
  2. ( SELECT
  3. sr_customer_sk AS ctr_customer_sk,
  4. sr_store_sk AS ctr_store_sk,
  5. sum(sr_return_amt) AS ctr_total_return
  6. FROM store_returns, date_dim
  7. WHERE sr_returned_date_sk = d_date_sk AND d_year = 2000
  8. GROUP BY sr_customer_sk, sr_store_sk)
  9. SELECT c_customer_id
  10. FROM customer_total_return ctr1, store, customer
  11. WHERE ctr1.ctr_total_return >
  12. (SELECT avg(ctr_total_return) * 1.2
  13. FROM customer_total_return ctr2
  14. WHERE ctr1.ctr_store_sk = ctr2.ctr_store_sk)
  15. AND s_store_sk = ctr1.ctr_store_sk
  16. AND s_state = 'TN'
  17. AND ctr1.ctr_customer_sk = c_customer_sk
  18. ORDER BY c_customer_id
  19. LIMIT 100