q99.sql 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. --!syntax_pg
  2. --TPC-DS Q99
  3. -- start query 1 in stream 0 using template ../query_templates/query99.tpl
  4. select
  5. substr(w_warehouse_name,1,20)
  6. ,sm_type
  7. ,cc_name
  8. ,sum(case when (cs_ship_date_sk - cs_sold_date_sk <= 30 ) then 1 else 0 end) as "30 days"
  9. ,sum(case when (cs_ship_date_sk - cs_sold_date_sk > 30) and
  10. (cs_ship_date_sk - cs_sold_date_sk <= 60) then 1 else 0 end ) as "31-60 days"
  11. ,sum(case when (cs_ship_date_sk - cs_sold_date_sk > 60) and
  12. (cs_ship_date_sk - cs_sold_date_sk <= 90) then 1 else 0 end) as "61-90 days"
  13. ,sum(case when (cs_ship_date_sk - cs_sold_date_sk > 90) and
  14. (cs_ship_date_sk - cs_sold_date_sk <= 120) then 1 else 0 end) as "91-120 days"
  15. ,sum(case when (cs_ship_date_sk - cs_sold_date_sk > 120) then 1 else 0 end) as ">120 days"
  16. from
  17. plato.catalog_sales
  18. ,plato.warehouse
  19. ,plato.ship_mode
  20. ,plato.call_center
  21. ,plato.date_dim
  22. where
  23. d_month_seq between 1212 and 1212 + 11
  24. and cs_ship_date_sk = d_date_sk
  25. and cs_warehouse_sk = w_warehouse_sk
  26. and cs_ship_mode_sk = sm_ship_mode_sk
  27. and cs_call_center_sk = cc_call_center_sk
  28. group by
  29. substr(w_warehouse_name,1,20)
  30. ,sm_type
  31. ,cc_name
  32. order by substr(w_warehouse_name,1,20)
  33. ,sm_type
  34. ,cc_name
  35. limit 100;
  36. -- end query 1 in stream 0 using template ../query_templates/query99.tpl