-- SQLBench-DS query 89 derived from TPC-DS query 89 under the terms of the TPC Fair Use Policy.
-- TPC-DS queries are Copyright 2021 Transaction Processing Performance Council.
-- This query was generated at scale factor 1.
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 (2001)
      and (
        (
          i_category in ('Children', 'Jewelry', 'Home')
          and i_class in ('infants', 'birdal', 'flatware')
        )
        or (
          i_category in ('Electronics', 'Music', 'Books')
          and i_class in ('audio', 'classical', 'science')
        )
      )
    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;
