q53.sql 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. --!syntax_pg
  2. --TPC-DS Q53
  3. -- start query 1 in stream 0 using template ../query_templates/query53.tpl
  4. select * from
  5. (select i_manufact_id,
  6. sum(ss_sales_price) sum_sales,
  7. avg(sum(ss_sales_price)) over (partition by i_manufact_id) avg_quarterly_sales
  8. from plato.item, plato.store_sales, plato.date_dim, plato.store
  9. where ss_item_sk = i_item_sk and
  10. ss_sold_date_sk = d_date_sk and
  11. ss_store_sk = s_store_sk and
  12. d_month_seq in (1212,1212+1,1212+2,1212+3,1212+4,1212+5,1212+6,1212+7,1212+8,1212+9,1212+10,1212+11) and
  13. ((i_category in ('Books','Children','Electronics') and
  14. i_class in ('personal','portable','reference','self-help') and
  15. i_brand in ('scholaramalgamalg #14','scholaramalgamalg #7',
  16. 'exportiunivamalg #9','scholaramalgamalg #9'))
  17. or(i_category in ('Women','Music','Men') and
  18. i_class in ('accessories','classical','fragrances','pants') and
  19. i_brand in ('amalgimporto #1','edu packscholar #1','exportiimporto #1',
  20. 'importoamalg #1')))
  21. group by i_manufact_id, d_qoy ) tmp1
  22. where case when avg_quarterly_sales > 0::numeric
  23. then abs (sum_sales - avg_quarterly_sales)/ avg_quarterly_sales
  24. else null::numeric end > 0.1::numeric
  25. order by avg_quarterly_sales,
  26. sum_sales,
  27. i_manufact_id
  28. limit 100;
  29. -- end query 1 in stream 0 using template ../query_templates/query53.tpl