QUERY PLAN
Sort (cost=108.52..108.53 rows=1 width=182)
Sort Key: set_top_at DESC NULLS LAST, (CASE WHEN is_complete THEN 3 WHEN ((NOT is_complete) AND (end_at <= now())) THEN 2 ELSE 1 END), (CASE WHEN is_complete THEN complete_at ELSE NULL::timestamp with time zone END) DESC, (CASE WHEN (NOT is_complete) THEN end_at ELSE NULL::timestamp with time zone END), end_at DESC
-> Index Scan using tbl_schedules_project_id_idx on tbl_schedules (cost=0.29..108.51 rows=1 width=182)
Index Cond: (project_id = ANY ('{3870,3901,3927,3857,3959,3950,3796,3854,3878,3880,3955,3957,3947,3874,3934,3945,3780,3833,3846,3758}'::integer[]))
Filter: (((NOT is_complete) OR (end_at >= '2025-09-02 00:00:00+08'::timestamp with time zone)) AND (((is_public = 1) AND (created_by <> 1011)) OR (created_by = 1011)))