QUERY PLAN
Aggregate (cost=2806.55..2806.56 rows=1 width=8)
-> HashAggregate (cost=2594.91..2725.15 rows=6512 width=22)
Group Key: c.id, c.client_class, cc.notice_days, (date_part('epoch'::text, (now() - max(sl.end_at))) / '86400'::double precision)
-> HashAggregate (cost=2399.55..2529.79 rows=6512 width=22)
Group Key: c.id, cc.id
Filter: ((date_part('epoch'::text, (now() - max(sl.end_at))) / '86400'::double precision) > (cc.notice_days)::double precision)
-> Hash Left Join (cost=231.13..2108.00 rows=29155 width=22)
Hash Cond: (c.client_class = cc.id)
-> Hash Right Join (cost=230.04..1982.22 rows=29155 width=16)
Hash Cond: (sl.client_id = c.id)
-> Seq Scan on tbl_work_logs sl (cost=0.00..1661.24 rows=34581 width=12)
Filter: (NOT is_draft)
-> Hash (cost=209.69..209.69 rows=1628 width=8)
-> Seq Scan on tbl_clients c (cost=0.00..209.69 rows=1628 width=8)
Filter: ((NOT deleted) AND (sales_rep = ANY ('{1001,1004,1005,1013,5087,5295,5300,5311,5329,5332,5420,5448,5449}'::integer[])))
-> Hash (cost=1.04..1.04 rows=4 width=6)
-> Seq Scan on tbl_client_classes cc (cost=0.00..1.04 rows=4 width=6)