QUERY PLAN
GroupAggregate (cost=1668.30..1676.90 rows=344 width=109)
Group Key: client.id
-> Sort (cost=1668.30..1669.16 rows=344 width=49)
Sort Key: client.id
-> Nested Loop Left Join (cost=1409.72..1653.80 rows=344 width=49)
-> Hash Join (cost=1409.44..1522.08 rows=344 width=8)
Hash Cond: (c.id = cr.case_id)
-> HashAggregate (cost=1178.27..1221.95 rows=4368 width=285)
Group Key: c.id
-> Hash Right Join (cost=1044.92..1167.35 rows=4368 width=8)
Hash Cond: (cs.case_id = c.id)
-> Seq Scan on tbl_case_services cs (cost=0.00..104.66 rows=6766 width=4)
-> Hash (cost=990.32..990.32 rows=4368 width=8)
-> Seq Scan on tbl_cases c (cost=0.00..990.32 rows=4368 width=8)
Filter: ((case_type = 2) AND (last_engineer = ANY ('{1017,5085,1001,5248,1015,1022,5296,1023}'::integer[])) AND ((deduct_points_from = ANY ('{1001,5049,5301,5022,5209,5026,5293,5309,5356,5329,5299,5303,5302,5332,5047,1026,5096,5070,5448,5420,1029,5037,5087,1008,5048,5043,5045,5230,5031,5088,5208,1003,5294,5357,5044,1030,5076,5300,5027,5089,5311,5066,5069,5364,1009,5295,1013,5128,5203,1025,5032,5075,1004,5072,5033,5359,5412,5409,5229,1005,5304,5449,5358,1006,5093}'::integer[])) OR (deduct_points_from IS NULL)))
-> Hash (cost=224.08..224.08 rows=567 width=8)
-> Seq Scan on tbl_callback_records cr (cost=0.00..224.08 rows=567 width=8)
Filter: ((callback_date >= '2025-01-01'::date) AND (callback_date < '2026-01-01 00:00:00'::timestamp without time zone) AND ((satisfaction_score <> 0) OR (skill_score <> 0)))
-> Index Scan using tbl_clients_pkey on tbl_clients client (cost=0.28..0.38 rows=1 width=45)
Index Cond: (c.client_id = id)