====
---- QUERY: TPCDS-Q28

select  *
from (select avg(ss_list_price) B1_LP
            ,count(ss_list_price) B1_CNT
            ,count(distinct ss_list_price) B1_CNTD
      from store_sales
      where ss_quantity between 0 and 5
        and (ss_list_price between 185 and 185+10
             or ss_coupon_amt between 10548 and 10548+1000
             or ss_wholesale_cost between 6 and 6+20)) B1,
     (select avg(ss_list_price) B2_LP
            ,count(ss_list_price) B2_CNT
            ,count(distinct ss_list_price) B2_CNTD
      from store_sales
      where ss_quantity between 6 and 10
        and (ss_list_price between 28 and 28+10
          or ss_coupon_amt between 6100 and 6100+1000
          or ss_wholesale_cost between 27 and 27+20)) B2,
     (select avg(ss_list_price) B3_LP
            ,count(ss_list_price) B3_CNT
            ,count(distinct ss_list_price) B3_CNTD
      from store_sales
      where ss_quantity between 11 and 15
        and (ss_list_price between 173 and 173+10
          or ss_coupon_amt between 6371 and 6371+1000
          or ss_wholesale_cost between 32 and 32+20)) B3,
     (select avg(ss_list_price) B4_LP
            ,count(ss_list_price) B4_CNT
            ,count(distinct ss_list_price) B4_CNTD
      from store_sales
      where ss_quantity between 16 and 20
        and (ss_list_price between 101 and 101+10
          or ss_coupon_amt between 2938 and 2938+1000
          or ss_wholesale_cost between 21 and 21+20)) B4,
     (select avg(ss_list_price) B5_LP
            ,count(ss_list_price) B5_CNT
            ,count(distinct ss_list_price) B5_CNTD
      from store_sales
      where ss_quantity between 21 and 25
        and (ss_list_price between 8 and 8+10
          or ss_coupon_amt between 5093 and 5093+1000
          or ss_wholesale_cost between 50 and 50+20)) B5,
     (select avg(ss_list_price) B6_LP
            ,count(ss_list_price) B6_CNT
            ,count(distinct ss_list_price) B6_CNTD
      from store_sales
      where ss_quantity between 26 and 30
        and (ss_list_price between 110 and 110+10
          or ss_coupon_amt between 2276 and 2276+1000
          or ss_wholesale_cost between 36 and 36+20)) B6
limit 100;


---- RESULTS
---- TYPES
INT, INT, STRING, DECIMAL
====
