q6.sql 560 B

123456789101112131415161718192021
  1. SELECT
  2. a.ca_state state,
  3. count(*) cnt
  4. FROM
  5. customer_address a, customer c, store_sales s, date_dim d, item i
  6. WHERE a.ca_address_sk = c.c_current_addr_sk
  7. AND c.c_customer_sk = s.ss_customer_sk
  8. AND s.ss_sold_date_sk = d.d_date_sk
  9. AND s.ss_item_sk = i.i_item_sk
  10. AND d.d_month_seq =
  11. (SELECT DISTINCT (d_month_seq)
  12. FROM date_dim
  13. WHERE d_year = 2000 AND d_moy = 1)
  14. AND i.i_current_price > 1.2 *
  15. (SELECT avg(j.i_current_price)
  16. FROM item j
  17. WHERE j.i_category = i.i_category)
  18. GROUP BY a.ca_state
  19. HAVING count(*) >= 10
  20. ORDER BY cnt
  21. LIMIT 100