QUERY PLAN
GroupAggregate (cost=604.79..604.90 rows=4 width=42)
Group Key: sub.new_status
-> Sort (cost=604.79..604.81 rows=6 width=7)
Sort Key: sub.new_status
-> Subquery Scan on sub (cost=496.70..604.71 rows=6 width=7)
Filter: ((sub.new_status = ANY ('{1,2}'::integer[])) AND (sub.rn = 1))
-> WindowAgg (cost=496.70..558.42 rows=3086 width=27)
-> Sort (cost=496.70..504.42 rows=3086 width=19)
Sort Key: l.project_id, l.created_at DESC
-> Hash Join (cost=217.19..317.85 rows=3086 width=19)
Hash Cond: (l.project_id = p.id)
-> Seq Scan on tbl_project_status_logs l (cost=0.00..92.55 rows=3086 width=14)
Filter: ((created_at < '2025-12-01 00:00:00+08'::timestamp with time zone) AND (new_status > 0))
-> Hash (cost=177.64..177.64 rows=3164 width=9)
-> Seq Scan on tbl_projects p (cost=0.00..177.64 rows=3164 width=9)