QUERY PLAN
Aggregate (cost=96.97..96.98 rows=1 width=720)
-> Nested Loop Left Join (cost=72.50..96.62 rows=1 width=11)
-> Nested Loop Left Join (cost=72.22..88.32 rows=1 width=13)
-> Nested Loop (cost=71.94..80.02 rows=1 width=13)
-> GroupAggregate (cost=71.66..71.69 rows=1 width=12)
Group Key: subpsl.project_id
Filter: ((min(subpsl.id) IS NOT NULL) AND (max(subpsl.id) IS NOT NULL))
-> Sort (cost=71.66..71.67 rows=1 width=8)
Sort Key: subpsl.project_id
-> Seq Scan on tbl_project_status_logs subpsl (cost=0.00..71.65 rows=1 width=8)
Filter: ((created_at >= '2025-07-03 00:00:00+08'::timestamp with time zone) AND (created_at < '2025-07-04 00:00:00'::timestamp without time zone))
-> Index Scan using tbl_projects_pkey on tbl_projects p (cost=0.28..8.31 rows=1 width=9)
Index Cond: (id = subpsl.project_id)
Filter: (created_by = ANY ('{1001,1004,1005,1013,5087,5295,5300,5311,5329,5332,5420}'::integer[]))
-> Index Scan using tbl_project_status_logs_pkey on tbl_project_status_logs minpsl (cost=0.28..8.30 rows=1 width=8)
Index Cond: ((min(subpsl.id)) = id)
-> Index Scan using tbl_project_status_logs_pkey on tbl_project_status_logs maxpsl (cost=0.28..8.30 rows=1 width=6)
Index Cond: ((max(subpsl.id)) = id)