select money_in, money_out, count(*), sum(amount) from ( select amount, date(date_ts) as date, case when amount between 0 and 20 then "0-20" when amount between 21 and 500 then "20-500" when amount between 21 and 500 then "500-1000" when amount >1000 then "+1000" else "other" end as money_in, case when amount between -20 and 0 then "0-20" when amount between -500 and -1000 then "20-500" when amount between -1000 and -500 then "500-1000" when amount <-1000 then "+1000" else "other" end as money_out, from `reby-cloud.reby_fin_eu.payments_all_platforms` where date(date_ts) BETWEEN '2021-04-01' and '2021-06-30' and payment_provider = 'kernel' --order by date_ts desc ) group by 1,2