QUERY PLAN
GroupAggregate (cost=1680.19..1683.96 rows=14 width=68)
Group Key: u.id
-> Merge Left Join (cost=1680.19..1682.91 rows=14 width=144)
Merge Cond: (u.id = t.user_id)
-> Merge Left Join (cost=1678.76..1681.43 rows=14 width=132)
Merge Cond: (u.id = am_3.user_id)
-> Merge Left Join (cost=88.71..89.30 rows=14 width=100)
Merge Cond: (u.id = am_1.user_id)
-> Merge Left Join (cost=60.03..60.48 rows=14 width=68)
Merge Cond: (u.id = t_1.handler)
-> Sort (cost=10.23..10.26 rows=14 width=4)
Sort Key: u.id
-> Seq Scan on tbl_users u (cost=0.00..9.96 rows=14 width=4)
Filter: (id = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))
-> GroupAggregate (cost=49.81..50.13 rows=4 width=68)
Group Key: t_1.handler
-> Merge Append (cost=49.81..50.04 rows=4 width=68)
Sort Key: t_1.handler
-> GroupAggregate (cost=25.06..25.11 rows=1 width=68)
Group Key: t_1.handler
-> Sort (cost=25.06..25.07 rows=4 width=14)
Sort Key: t_1.handler
-> Hash Right Join (cost=10.86..25.02 rows=4 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.85..10.85 rows=1 width=8)
-> Seq Scan on tbl_erp_sales_outbounds t_1 (cost=1.07..10.85 rows=1 width=8)
Filter: (((NOT (hashed SubPlan 1)) OR (project_id IS NULL)) AND (created_at >= '2025-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2025-06-29 23:59:59+08'::timestamp with time zone) AND (status = 2) AND (handler = ANY ('{5500,5499,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=24.74..24.84 rows=3 width=68)
Group Key: am.user_id
-> Sort (cost=24.74..24.75 rows=3 width=19)
Sort Key: am.user_id
-> Nested Loop (cost=7.77..24.72 rows=3 width=19)
Join Filter: (pd.id = am.erp_profit_distribute_id)
-> Seq Scan on tbl_erp_profit_distribute_pcts am (cost=0.00..1.22 rows=7 width=13)
Filter: (user_id = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))
-> Materialize (cost=7.77..23.19 rows=3 width=14)
-> Nested Loop (cost=7.77..23.17 rows=3 width=14)
Join Filter: (t_2.project_id = pd.project_id)
-> Nested Loop (cost=7.77..22.08 rows=1 width=18)
Join Filter: (t_2.project_id = t_3.project_id)
-> 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=6.71..20.88 rows=4 width=14)
-> Hash Right Join (cost=6.71..20.86 rows=4 width=14)
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=6.70..6.70 rows=1 width=8)
-> Seq Scan on tbl_erp_sales_outbounds t_2 (cost=0.00..6.70 rows=1 width=8)
Filter: ((created_at >= '2025-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2025-06-29 23:59:59+08'::timestamp with time zone) AND (status = 2))
-> Seq Scan on tbl_erp_profit_distributes pd (cost=0.00..1.04 rows=4 width=8)
-> GroupAggregate (cost=28.68..28.74 rows=3 width=36)
Group Key: am_1.user_id
-> Sort (cost=28.68..28.69 rows=3 width=36)
Sort Key: am_1.user_id
-> Append (cost=13.68..28.65 rows=3 width=36)
-> GroupAggregate (cost=13.68..13.70 rows=1 width=36)
Group Key: am_1.user_id
-> Sort (cost=13.68..13.69 rows=1 width=9)
Sort Key: am_1.user_id
-> Nested Loop (cost=2.43..13.67 rows=1 width=9)
Join Filter: (t_4.id = am_1.erp_other_income_ticket_id)
-> Nested Loop Left Join (cost=2.43..12.16 rows=1 width=4)
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)))
-> Seq Scan on tbl_erp_other_income_tickets t_4 (cost=0.00..1.70 rows=1 width=8)
Filter: ((created_at >= '2025-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2025-06-29 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..8.29 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))
-> Seq Scan on tbl_erp_other_income_ticket_handlers am_1 (cost=0.00..1.39 rows=10 width=13)
Filter: (user_id = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))
-> GroupAggregate (cost=13.53..13.55 rows=1 width=36)
Group Key: am_2.user_id
-> Sort (cost=13.53..13.53 rows=1 width=15)
Sort Key: am_2.user_id
-> Nested Loop (cost=1.34..13.52 rows=1 width=15)
Join Filter: (sc_1.from_project = t_6.project_id)
-> Nested Loop (cost=0.28..12.40 rows=1 width=23)
Join Filter: (pd_1.id = am_2.erp_profit_distribute_id)
-> Nested Loop (cost=0.28..11.09 rows=1 width=18)
Join Filter: (sc_1.from_project = pd_1.project_id)
-> Nested Loop (cost=0.28..10.00 rows=1 width=10)
-> Seq Scan on tbl_erp_other_income_tickets t_5 (cost=0.00..1.70 rows=1 width=10)
Filter: ((created_at >= '2025-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2025-06-29 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..8.29 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.22 rows=7 width=13)
Filter: (user_id = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))
-> 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))
-> HashAggregate (cost=1.35..1.37 rows=1 width=36)
Group Key: t_7.handler
-> Seq Scan on tbl_erp_inventory_overflows t_7 (cost=0.00..1.35 rows=1 width=9)
Filter: ((created_at >= '2025-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2025-06-29 23:59:59+08'::timestamp with time zone) AND (status = 2) AND (handler = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[])))
-> GroupAggregate (cost=1590.05..1591.76 rows=25 width=36)
Group Key: am_3.user_id
-> Merge Append (cost=1590.05..1591.32 rows=25 width=36)
Sort Key: am_3.user_id
-> GroupAggregate (cost=884.29..884.57 rows=14 width=36)
Group Key: am_3.user_id
-> Sort (cost=884.29..884.33 rows=14 width=9)
Sort Key: am_3.user_id
-> Nested Loop Left Join (cost=536.38..884.03 rows=14 width=9)
Filter: ((NOT (hashed SubPlan 4)) OR (t_8.sales_contract_id IS NULL))
-> Hash Join (cost=535.02..821.65 rows=16 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..278.06 rows=3263 width=13)
Filter: (user_id = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))
-> Hash (cost=534.50..534.50 rows=42 width=8)
-> Seq Scan on tbl_erp_cash_cost_tickets t_8 (cost=0.00..534.50 rows=42 width=8)
Filter: (is_payment_settle AND (created_at >= '2025-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2025-06-29 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))
-> Index Scan using tbl_sales_contracts_pkey on tbl_sales_contracts sc_2 (cost=0.28..3.82 rows=1 width=8)
Index Cond: (id = t_8.sales_contract_id)
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=611.50..611.53 rows=1 width=36)
Group Key: am_4.user_id
-> Sort (cost=611.50..611.51 rows=1 width=14)
Sort Key: am_4.user_id
-> Nested Loop (cost=1.11..611.49 rows=1 width=14)
Join Filter: (sc_3.id = t_9.sales_contract_id)
-> Nested Loop (cost=1.11..76.47 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.22 rows=7 width=13)
Filter: (user_id = ANY ('{5500,5499,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..534.50 rows=42 width=9)
Filter: (is_payment_settle AND (created_at >= '2025-08-08 14:34:58+08'::timestamp with time zone) AND (created_at >= '2025-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2025-06-29 23:59:59+08'::timestamp with time zone) AND (status = 2))
-> GroupAggregate (cost=7.06..7.08 rows=1 width=36)
Group Key: am_5.user_id
-> Sort (cost=7.06..7.06 rows=1 width=9)
Sort Key: am_5.user_id
-> Hash Join (cost=4.27..7.05 rows=1 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.62 rows=56 width=13)
Filter: (user_id = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))
-> Hash (cost=4.25..4.25 rows=1 width=4)
-> Seq Scan on tbl_erp_cost_tickets t_11 (cost=1.07..4.25 rows=1 width=4)
Filter: ((created_at >= '2025-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2025-06-29 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.55..6.58 rows=1 width=36)
Group Key: am_6.user_id
-> Sort (cost=6.55..6.56 rows=1 width=14)
Sort Key: am_6.user_id
-> Nested Loop (cost=1.06..6.54 rows=1 width=14)
Join Filter: (pd_3.project_id = t_13.project_id)
-> Nested Loop (cost=0.00..5.43 rows=1 width=22)
Join Filter: (pd_3.id = am_6.erp_profit_distribute_id)
-> Nested Loop (cost=0.00..4.12 rows=1 width=17)
Join Filter: (pd_3.project_id = t_12.project_id)
-> Seq Scan on tbl_erp_cost_tickets t_12 (cost=0.00..3.03 rows=1 width=9)
Filter: ((created_at >= '2025-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2025-06-29 23:59:59+08'::timestamp with time zone) 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.22 rows=7 width=13)
Filter: (user_id = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))
-> 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))
-> GroupAggregate (cost=13.29..13.35 rows=3 width=36)
Group Key: am_7.user_id
-> Sort (cost=13.29..13.30 rows=3 width=9)
Sort Key: am_7.user_id
-> Hash Join (cost=10.59..13.27 rows=3 width=9)
Hash Cond: (am_7.erp_cost_convert_ticket_id = t_14.id)
-> Seq Scan on tbl_erp_cost_convert_ticket_handlers am_7 (cost=0.00..2.51 rows=37 width=13)
Filter: (user_id = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))
-> Hash (cost=10.57..10.57 rows=1 width=4)
-> Nested Loop Left Join (cost=1.35..10.57 rows=1 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=1 width=8)
Filter: ((created_at >= '2025-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2025-06-29 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))
-> GroupAggregate (cost=21.03..21.05 rows=1 width=36)
Group Key: am_8.user_id
-> Sort (cost=21.03..21.03 rows=1 width=15)
Sort Key: am_8.user_id
-> Nested Loop (cost=1.34..21.02 rows=1 width=15)
Join Filter: (sc_5.from_project = t_16.project_id)
-> Nested Loop (cost=0.28..19.90 rows=1 width=23)
Join Filter: (pd_4.id = am_8.erp_profit_distribute_id)
-> Nested Loop (cost=0.28..18.59 rows=1 width=18)
Join Filter: (sc_5.from_project = pd_4.project_id)
-> Nested Loop (cost=0.28..17.50 rows=1 width=10)
-> Seq Scan on tbl_erp_cost_convert_tickets t_15 (cost=0.00..1.19 rows=1 width=10)
Filter: ((created_at >= '2025-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2025-06-29 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.22 rows=7 width=13)
Filter: (user_id = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))
-> 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))
-> GroupAggregate (cost=23.11..23.16 rows=1 width=36)
Group Key: t_17.handler
-> Sort (cost=23.11..23.12 rows=4 width=14)
Sort Key: t_17.handler
-> Hash Right Join (cost=8.92..23.07 rows=4 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.91..8.91 rows=1 width=8)
-> Seq Scan on tbl_erp_sales_gifts t_17 (cost=1.07..8.91 rows=1 width=8)
Filter: (((NOT (hashed SubPlan 7)) OR (project_id IS NULL)) AND (created_at >= '2025-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2025-06-29 23:59:59+08'::timestamp with time zone) AND (status = 2) AND (handler = ANY ('{5500,5499,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.10..23.18 rows=3 width=36)
Group Key: am_9.user_id
-> Sort (cost=23.10..23.10 rows=3 width=19)
Sort Key: am_9.user_id
-> Nested Loop (cost=7.42..23.07 rows=3 width=19)
Join Filter: (pd_5.project_id = t_18.project_id)
-> Nested Loop (cost=6.33..20.63 rows=1 width=18)
Join Filter: (t_18.project_id = t_19.project_id)
-> 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))
-> Materialize (cost=5.27..19.43 rows=4 width=14)
-> Hash Right Join (cost=5.27..19.41 rows=4 width=14)
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=5.26..5.26 rows=1 width=8)
-> Seq Scan on tbl_erp_sales_gifts t_18 (cost=0.00..5.26 rows=1 width=8)
Filter: ((created_at >= '2025-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2025-06-29 23:59:59+08'::timestamp with time zone) AND (status = 2))
-> Hash Join (cost=1.09..2.35 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.22 rows=7 width=13)
Filter: (user_id = ANY ('{5500,5499,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 >= '2025-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2025-06-29 23:59:59+08'::timestamp with time zone))