QUERY PLAN
GroupAggregate (cost=1455.61..1460.29 rows=12 width=68)
Group Key: u.id
-> Merge Left Join (cost=1455.61..1459.39 rows=12 width=144)
Merge Cond: (u.id = t.user_id)
-> Merge Left Join (cost=1454.18..1457.91 rows=12 width=132)
Merge Cond: (u.id = am_3.user_id)
-> Merge Left Join (cost=163.82..164.40 rows=12 width=100)
Merge Cond: (u.id = am_1.user_id)
-> Merge Left Join (cost=60.63..61.00 rows=12 width=68)
Merge Cond: (u.id = t_1.handler)
-> Sort (cost=9.82..9.85 rows=12 width=4)
Sort Key: u.id
-> Seq Scan on tbl_users u (cost=0.00..9.60 rows=12 width=4)
Filter: (id = ANY ('{5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))
-> GroupAggregate (cost=50.82..51.02 rows=8 width=68)
Group Key: t_1.handler
-> Sort (cost=50.82..50.84 rows=8 width=68)
Sort Key: t_1.handler
-> Append (cost=25.14..50.70 rows=8 width=68)
-> HashAggregate (cost=25.14..25.22 rows=5 width=68)
Group Key: t_1.handler
-> Hash Right Join (cost=10.63..24.78 rows=48 width=14)
Hash Cond: (eipss.erp_sales_outbound_id = t_1.id)
-> Seq Scan on tbl_erp_inventory_product_spents eipss (cost=0.00..12.65 rows=565 width=14)
-> Hash (cost=10.46..10.46 rows=13 width=8)
-> Seq Scan on tbl_erp_sales_outbounds t_1 (cost=1.07..10.46 rows=13 width=8)
Filter: (((NOT (hashed SubPlan 1)) OR (project_id IS NULL)) AND (created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND (status = 2) AND (handler = ANY ('{5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[])))
SubPlan 1
-> Group (cost=1.06..1.07 rows=2 width=4)
Group Key: t_20.project_id
-> Sort (cost=1.06..1.06 rows=2 width=4)
Sort Key: t_20.project_id
-> Seq Scan on tbl_erp_profit_distributes t_20 (cost=0.00..1.05 rows=2 width=4)
Filter: ((project_id IS NOT NULL) AND (status = 2))
-> GroupAggregate (cost=25.29..25.40 rows=3 width=68)
Group Key: am.user_id
-> Sort (cost=25.29..25.30 rows=3 width=19)
Sort Key: am.user_id
-> Nested Loop (cost=9.01..25.27 rows=3 width=19)
Join Filter: (pd.project_id = t_2.project_id)
-> Hash Right Join (cost=7.92..22.71 rows=2 width=18)
Hash Cond: (eipss_1.erp_sales_outbound_id = t_2.id)
-> Seq Scan on tbl_erp_inventory_product_spents eipss_1 (cost=0.00..12.65 rows=565 width=14)
-> Hash (cost=7.91..7.91 rows=1 width=12)
-> Hash Join (cost=1.11..7.91 rows=1 width=12)
Hash Cond: (t_2.project_id = t_3.project_id)
-> Seq Scan on tbl_erp_sales_outbounds t_2 (cost=0.00..6.70 rows=38 width=8)
Filter: ((created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND (status = 2))
-> Hash (cost=1.09..1.09 rows=2 width=4)
-> Group (cost=1.06..1.07 rows=2 width=4)
Group Key: t_3.project_id
-> Sort (cost=1.06..1.06 rows=2 width=4)
Sort Key: t_3.project_id
-> Seq Scan on tbl_erp_profit_distributes t_3 (cost=0.00..1.05 rows=2 width=4)
Filter: ((project_id IS NOT NULL) AND (status = 2))
-> Materialize (cost=1.09..2.37 rows=7 width=13)
-> Hash Join (cost=1.09..2.33 rows=7 width=13)
Hash Cond: (am.erp_profit_distribute_id = pd.id)
-> Seq Scan on tbl_erp_profit_distribute_pcts am (cost=0.00..1.20 rows=7 width=13)
Filter: (user_id = ANY ('{5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))
-> Hash (cost=1.04..1.04 rows=4 width=8)
-> Seq Scan on tbl_erp_profit_distributes pd (cost=0.00..1.04 rows=4 width=8)
-> GroupAggregate (cost=103.19..103.29 rows=5 width=36)
Group Key: am_1.user_id
-> Sort (cost=103.19..103.21 rows=5 width=36)
Sort Key: am_1.user_id
-> Append (cost=24.86..103.14 rows=5 width=36)
-> GroupAggregate (cost=24.86..24.92 rows=3 width=36)
Group Key: am_1.user_id
-> Sort (cost=24.86..24.87 rows=3 width=9)
Sort Key: am_1.user_id
-> Nested Loop Left Join (cost=4.26..24.84 rows=3 width=9)
Filter: (((NOT (hashed SubPlan 2)) OR (t_4.sales_contract_id IS NULL)) AND ((NOT (hashed SubPlan 3)) OR (t_4.sales_contract_id IS NULL)))
-> Hash Join (cost=1.84..3.21 rows=3 width=13)
Hash Cond: (am_1.erp_other_income_ticket_id = t_4.id)
-> Seq Scan on tbl_erp_other_income_ticket_handlers am_1 (cost=0.00..1.35 rows=10 width=13)
Filter: (user_id = ANY ('{5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))
-> Hash (cost=1.70..1.70 rows=11 width=8)
-> Seq Scan on tbl_erp_other_income_tickets t_4 (cost=0.00..1.70 rows=11 width=8)
Filter: ((created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND (status = 2))
-> Index Scan using tbl_sales_contracts_pkey on tbl_sales_contracts sc (cost=0.28..6.48 rows=1 width=8)
Index Cond: (id = t_4.sales_contract_id)
SubPlan 2
-> Group (cost=1.06..1.07 rows=2 width=4)
Group Key: t_21.project_id
-> Sort (cost=1.06..1.06 rows=2 width=4)
Sort Key: t_21.project_id
-> Seq Scan on tbl_erp_profit_distributes t_21 (cost=0.00..1.05 rows=2 width=4)
Filter: ((project_id IS NOT NULL) AND (status = 2))
SubPlan 3
-> Group (cost=1.06..1.07 rows=2 width=4)
Group Key: t_22.project_id
-> Sort (cost=1.06..1.06 rows=2 width=4)
Sort Key: t_22.project_id
-> Seq Scan on tbl_erp_profit_distributes t_22 (cost=0.00..1.05 rows=2 width=4)
Filter: ((project_id IS NOT NULL) AND (status = 2))
-> GroupAggregate (cost=76.79..76.81 rows=1 width=36)
Group Key: am_2.user_id
-> Sort (cost=76.79..76.79 rows=1 width=15)
Sort Key: am_2.user_id
-> Nested Loop (cost=1.34..76.78 rows=1 width=15)
Join Filter: (pd_1.id = am_2.erp_profit_distribute_id)
-> Nested Loop (cost=1.34..75.49 rows=1 width=10)
Join Filter: (sc_1.from_project = pd_1.project_id)
-> Nested Loop (cost=1.34..74.40 rows=1 width=14)
Join Filter: (sc_1.from_project = t_6.project_id)
-> Group (cost=1.06..1.07 rows=2 width=4)
Group Key: t_6.project_id
-> Sort (cost=1.06..1.06 rows=2 width=4)
Sort Key: t_6.project_id
-> Seq Scan on tbl_erp_profit_distributes t_6 (cost=0.00..1.05 rows=2 width=4)
Filter: ((project_id IS NOT NULL) AND (status = 2))
-> Materialize (cost=0.28..73.01 rows=11 width=10)
-> Nested Loop (cost=0.28..72.95 rows=11 width=10)
-> Seq Scan on tbl_erp_other_income_tickets t_5 (cost=0.00..1.70 rows=11 width=10)
Filter: ((created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND (status = 2))
-> Index Scan using tbl_sales_contracts_pkey on tbl_sales_contracts sc_1 (cost=0.28..6.48 rows=1 width=8)
Index Cond: (id = t_5.sales_contract_id)
-> Seq Scan on tbl_erp_profit_distributes pd_1 (cost=0.00..1.04 rows=4 width=8)
-> Seq Scan on tbl_erp_profit_distribute_pcts am_2 (cost=0.00..1.20 rows=7 width=13)
Filter: (user_id = ANY ('{5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))
-> HashAggregate (cost=1.33..1.35 rows=1 width=36)
Group Key: t_7.handler
-> Seq Scan on tbl_erp_inventory_overflows t_7 (cost=0.00..1.32 rows=2 width=9)
Filter: ((created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND (status = 2) AND (handler = ANY ('{5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[])))
-> GroupAggregate (cost=1290.35..1292.23 rows=94 width=36)
Group Key: am_3.user_id
-> Sort (cost=1290.35..1290.59 rows=94 width=36)
Sort Key: am_3.user_id
-> Append (cost=710.88..1287.27 rows=94 width=36)
-> GroupAggregate (cost=710.88..712.46 rows=60 width=36)
Group Key: am_3.user_id
-> Sort (cost=710.88..711.15 rows=111 width=9)
Sort Key: am_3.user_id
-> Hash Left Join (cost=440.73..707.11 rows=111 width=9)
Hash Cond: (t_8.sales_contract_id = sc_2.id)
Filter: ((NOT (hashed SubPlan 4)) OR (t_8.sales_contract_id IS NULL))
-> Hash Join (cost=349.69..615.73 rows=127 width=13)
Hash Cond: (am_3.erp_cash_cost_ticket_id = t_8.id)
-> Seq Scan on tbl_erp_cash_cost_ticket_handlers am_3 (cost=0.00..257.60 rows=3215 width=13)
Filter: (user_id = ANY ('{5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))
-> Hash (cost=345.50..345.50 rows=335 width=8)
-> Seq Scan on tbl_erp_cash_cost_tickets t_8 (cost=0.00..345.50 rows=335 width=8)
Filter: (is_payment_settle AND (created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND (created_at >= '2025-08-08 14:34:58+08'::timestamp with time zone) AND (status = 2))
-> Hash (cost=68.32..68.32 rows=1732 width=8)
-> Seq Scan on tbl_sales_contracts sc_2 (cost=0.00..68.32 rows=1732 width=8)
SubPlan 4
-> Group (cost=1.06..1.07 rows=2 width=4)
Group Key: t_23.project_id
-> Sort (cost=1.06..1.06 rows=2 width=4)
Sort Key: t_23.project_id
-> Seq Scan on tbl_erp_profit_distributes t_23 (cost=0.00..1.05 rows=2 width=4)
Filter: ((project_id IS NOT NULL) AND (status = 2))
-> GroupAggregate (cost=426.14..426.17 rows=1 width=36)
Group Key: am_4.user_id
-> Sort (cost=426.14..426.15 rows=1 width=14)
Sort Key: am_4.user_id
-> Nested Loop (cost=1.11..426.13 rows=1 width=14)
Join Filter: (sc_3.id = t_9.sales_contract_id)
-> Nested Loop (cost=1.11..76.45 rows=1 width=13)
Join Filter: (pd_2.id = am_4.erp_profit_distribute_id)
-> Nested Loop (cost=1.11..75.16 rows=1 width=8)
Join Filter: (sc_3.from_project = pd_2.project_id)
-> Seq Scan on tbl_erp_profit_distributes pd_2 (cost=0.00..1.04 rows=4 width=8)
-> Materialize (cost=1.11..74.00 rows=2 width=12)
-> Hash Join (cost=1.11..73.99 rows=2 width=12)
Hash Cond: (sc_3.from_project = t_10.project_id)
-> Seq Scan on tbl_sales_contracts sc_3 (cost=0.00..68.32 rows=1732 width=8)
-> Hash (cost=1.09..1.09 rows=2 width=4)
-> Group (cost=1.06..1.07 rows=2 width=4)
Group Key: t_10.project_id
-> Sort (cost=1.06..1.06 rows=2 width=4)
Sort Key: t_10.project_id
-> Seq Scan on tbl_erp_profit_distributes t_10 (cost=0.00..1.05 rows=2 width=4)
Filter: ((project_id IS NOT NULL) AND (status = 2))
-> Seq Scan on tbl_erp_profit_distribute_pcts am_4 (cost=0.00..1.20 rows=7 width=13)
Filter: (user_id = ANY ('{5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))
-> Seq Scan on tbl_erp_cash_cost_tickets t_9 (cost=0.00..345.50 rows=335 width=9)
Filter: (is_payment_settle AND (created_at >= '2025-08-08 14:34:58+08'::timestamp with time zone) AND (created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND (status = 2))
-> HashAggregate (cost=7.02..7.11 rows=7 width=36)
Group Key: am_5.user_id
-> Hash Join (cost=4.35..6.98 rows=7 width=9)
Hash Cond: (am_5.erp_cost_ticket_id = t_11.id)
-> Seq Scan on tbl_erp_cost_ticket_handlers am_5 (cost=0.00..2.48 rows=54 width=13)
Filter: (user_id = ANY ('{5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))
-> Hash (cost=4.25..4.25 rows=8 width=4)
-> Seq Scan on tbl_erp_cost_tickets t_11 (cost=1.07..4.25 rows=8 width=4)
Filter: ((created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND ((NOT (hashed SubPlan 5)) OR (project_id IS NULL)) AND (status = 2))
SubPlan 5
-> Group (cost=1.06..1.07 rows=2 width=4)
Group Key: t_24.project_id
-> Sort (cost=1.06..1.06 rows=2 width=4)
Sort Key: t_24.project_id
-> Seq Scan on tbl_erp_profit_distributes t_24 (cost=0.00..1.05 rows=2 width=4)
Filter: ((project_id IS NOT NULL) AND (status = 2))
-> GroupAggregate (cost=6.57..6.60 rows=1 width=36)
Group Key: am_6.user_id
-> Sort (cost=6.57..6.57 rows=1 width=14)
Sort Key: am_6.user_id
-> Nested Loop (cost=1.11..6.56 rows=1 width=14)
Join Filter: (pd_3.id = am_6.erp_profit_distribute_id)
-> Nested Loop (cost=1.11..5.27 rows=1 width=9)
Join Filter: (t_12.project_id = pd_3.project_id)
-> Hash Join (cost=1.11..4.18 rows=1 width=13)
Hash Cond: (t_12.project_id = t_13.project_id)
-> Seq Scan on tbl_erp_cost_tickets t_12 (cost=0.00..3.03 rows=13 width=9)
Filter: ((created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND (status = 2))
-> Hash (cost=1.09..1.09 rows=2 width=4)
-> Group (cost=1.06..1.07 rows=2 width=4)
Group Key: t_13.project_id
-> Sort (cost=1.06..1.06 rows=2 width=4)
Sort Key: t_13.project_id
-> Seq Scan on tbl_erp_profit_distributes t_13 (cost=0.00..1.05 rows=2 width=4)
Filter: ((project_id IS NOT NULL) AND (status = 2))
-> Seq Scan on tbl_erp_profit_distributes pd_3 (cost=0.00..1.04 rows=4 width=8)
-> Seq Scan on tbl_erp_profit_distribute_pcts am_6 (cost=0.00..1.20 rows=7 width=13)
Filter: (user_id = ANY ('{5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))
-> GroupAggregate (cost=38.75..38.98 rows=11 width=36)
Group Key: am_7.user_id
-> Sort (cost=38.75..38.78 rows=13 width=9)
Sort Key: am_7.user_id
-> Hash Join (cost=4.19..38.50 rows=13 width=9)
Hash Cond: (t_14.id = am_7.erp_cost_convert_ticket_id)
-> Nested Loop Left Join (cost=1.35..35.50 rows=4 width=4)
Filter: ((NOT (hashed SubPlan 6)) OR (t_14.sales_contract_id IS NULL))
-> Seq Scan on tbl_erp_cost_convert_tickets t_14 (cost=0.00..1.19 rows=4 width=8)
Filter: ((created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND (status = 2))
-> Index Scan using tbl_sales_contracts_pkey on tbl_sales_contracts sc_4 (cost=0.28..8.29 rows=1 width=8)
Index Cond: (id = t_14.sales_contract_id)
SubPlan 6
-> Group (cost=1.06..1.07 rows=2 width=4)
Group Key: t_25.project_id
-> Sort (cost=1.06..1.06 rows=2 width=4)
Sort Key: t_25.project_id
-> Seq Scan on tbl_erp_profit_distributes t_25 (cost=0.00..1.05 rows=2 width=4)
Filter: ((project_id IS NOT NULL) AND (status = 2))
-> Hash (cost=2.38..2.38 rows=37 width=13)
-> Seq Scan on tbl_erp_cost_convert_ticket_handlers am_7 (cost=0.00..2.38 rows=37 width=13)
Filter: (user_id = ANY ('{5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))
-> GroupAggregate (cost=46.00..46.02 rows=1 width=36)
Group Key: am_8.user_id
-> Sort (cost=46.00..46.00 rows=1 width=15)
Sort Key: am_8.user_id
-> Nested Loop (cost=1.34..45.99 rows=1 width=15)
Join Filter: (pd_4.id = am_8.erp_profit_distribute_id)
-> Nested Loop (cost=1.34..44.70 rows=1 width=10)
Join Filter: (sc_5.from_project = pd_4.project_id)
-> Nested Loop (cost=1.34..43.61 rows=1 width=14)
Join Filter: (sc_5.from_project = t_16.project_id)
-> Group (cost=1.06..1.07 rows=2 width=4)
Group Key: t_16.project_id
-> Sort (cost=1.06..1.06 rows=2 width=4)
Sort Key: t_16.project_id
-> Seq Scan on tbl_erp_profit_distributes t_16 (cost=0.00..1.05 rows=2 width=4)
Filter: ((project_id IS NOT NULL) AND (status = 2))
-> Materialize (cost=0.28..42.41 rows=4 width=10)
-> Nested Loop (cost=0.28..42.39 rows=4 width=10)
-> Seq Scan on tbl_erp_cost_convert_tickets t_15 (cost=0.00..1.19 rows=4 width=10)
Filter: ((created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND (status = 2))
-> Index Scan using tbl_sales_contracts_pkey on tbl_sales_contracts sc_5 (cost=0.28..8.29 rows=1 width=8)
Index Cond: (id = t_15.sales_contract_id)
-> Seq Scan on tbl_erp_profit_distributes pd_4 (cost=0.00..1.04 rows=4 width=8)
-> Seq Scan on tbl_erp_profit_distribute_pcts am_8 (cost=0.00..1.20 rows=7 width=13)
Filter: (user_id = ANY ('{5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))
-> HashAggregate (cost=24.73..24.82 rows=7 width=36)
Group Key: t_17.handler
-> Hash Right Join (cost=9.14..23.28 rows=193 width=14)
Hash Cond: (eipss_2.erp_sales_gift_id = t_17.id)
-> Seq Scan on tbl_erp_inventory_product_spents eipss_2 (cost=0.00..12.65 rows=565 width=14)
-> Hash (cost=8.59..8.59 rows=44 width=8)
-> Seq Scan on tbl_erp_sales_gifts t_17 (cost=1.07..8.59 rows=44 width=8)
Filter: (((NOT (hashed SubPlan 7)) OR (project_id IS NULL)) AND (created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND (status = 2) AND (handler = ANY ('{5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[])))
SubPlan 7
-> Group (cost=1.06..1.07 rows=2 width=4)
Group Key: t_26.project_id
-> Sort (cost=1.06..1.06 rows=2 width=4)
Sort Key: t_26.project_id
-> Seq Scan on tbl_erp_profit_distributes t_26 (cost=0.00..1.05 rows=2 width=4)
Filter: ((project_id IS NOT NULL) AND (status = 2))
-> GroupAggregate (cost=23.95..24.18 rows=6 width=36)
Group Key: am_9.user_id
-> Sort (cost=23.95..23.98 rows=10 width=19)
Sort Key: am_9.user_id
-> Hash Right Join (cost=9.00..23.78 rows=10 width=19)
Hash Cond: (eipss_3.erp_sales_gift_id = t_18.id)
-> Seq Scan on tbl_erp_inventory_product_spents eipss_3 (cost=0.00..12.65 rows=565 width=14)
-> Hash (cost=8.97..8.97 rows=2 width=13)
-> Hash Join (cost=3.53..8.97 rows=2 width=13)
Hash Cond: (t_18.project_id = pd_5.project_id)
-> Hash Join (cost=1.11..6.53 rows=2 width=12)
Hash Cond: (t_18.project_id = t_19.project_id)
-> Seq Scan on tbl_erp_sales_gifts t_18 (cost=0.00..5.26 rows=54 width=8)
Filter: ((created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND (status = 2))
-> Hash (cost=1.09..1.09 rows=2 width=4)
-> Group (cost=1.06..1.07 rows=2 width=4)
Group Key: t_19.project_id
-> Sort (cost=1.06..1.06 rows=2 width=4)
Sort Key: t_19.project_id
-> Seq Scan on tbl_erp_profit_distributes t_19 (cost=0.00..1.05 rows=2 width=4)
Filter: ((project_id IS NOT NULL) AND (status = 2))
-> Hash (cost=2.33..2.33 rows=7 width=13)
-> Hash Join (cost=1.09..2.33 rows=7 width=13)
Hash Cond: (am_9.erp_profit_distribute_id = pd_5.id)
-> Seq Scan on tbl_erp_profit_distribute_pcts am_9 (cost=0.00..1.20 rows=7 width=13)
Filter: (user_id = ANY ('{5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))
-> Hash (cost=1.04..1.04 rows=4 width=8)
-> Seq Scan on tbl_erp_profit_distributes pd_5 (cost=0.00..1.04 rows=4 width=8)
-> Sort (cost=1.43..1.43 rows=1 width=16)
Sort Key: t.user_id
-> Seq Scan on tbl_erp_user_profits t (cost=0.00..1.42 rows=1 width=16)
Filter: ((created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone))