select *
from (select i_category,
             i_class,
             i_brand,
             s_store_name,
             s_company_name,
             d_moy,
             sum(ss_sales_price)      sum_sales,
             avg(sum(ss_sales_price)) over (partition by i_category, i_brand, s_store_name, s_company_name)
         avg_monthly_sales
      from item,
           store_sales,
           date_dim,
           store
      where ss_item_sk = i_item_sk
        and ss_sold_date_sk = d_date_sk
        and ss_store_sk = s_store_sk
        and d_year in (1999)
        and ((i_category in ('Books', 'Electronics', 'Sports') and
              i_class in ('computers', 'stereo', 'football')
                 )
          or (i_category in ('Men', 'Jewelry', 'Women') and
              i_class in ('shirts', 'birdal', 'dresses')
                 ))
      group by i_category, i_class, i_brand,
               s_store_name, s_company_name, d_moy) tmp1
where case when (avg_monthly_sales <> 0) then (abs(sum_sales - avg_monthly_sales) / avg_monthly_sales) else null end >
      0.1
order by sum_sales - avg_monthly_sales, s_store_name limit 100
