-- SQLBench-H query 22 derived from TPC-H query 22 under the terms of the TPC Fair Use Policy.
-- TPC-H queries are Copyright 1993-2022 Transaction Processing Performance Council.
select
  cntrycode,
  count(*) as numcust,
  sum(c_acctbal) as totacctbal
from
  (
    select
      substring(
        c_phone
        from
          1 for 2
      ) as cntrycode,
      c_acctbal
    from
      customer
    where
      substring(
        c_phone
        from
          1 for 2
      ) in ('24', '34', '16', '30', '33', '14', '13')
      and c_acctbal > (
        select
          avg(c_acctbal)
        from
          customer
        where
          c_acctbal > 0.00
          and substring(
            c_phone
            from
              1 for 2
          ) in ('24', '34', '16', '30', '33', '14', '13')
      )
      and not exists (
        select
          *
        from
          orders
        where
          o_custkey = c_custkey
      )
  ) as custsale
group by
  cntrycode
order by
  cntrycode;
