Bạn có thể di chuyển quá trình khởi tạo các biến phiên do người dùng xác định sang bảng Có nguồn gốc và Cross Join với (các) bảng khác của bạn:
SELECT SUBSTRING_INDEX(@input, ' ', (@count) * 2), ' ', -1) AS xyz,
som_cnt AS `count`
FROM abc
CROSS JOIN (SELECT @count := 0,
@input := '22:4,33:4'
) AS user_init_vars