我被FIND_IN_SET
MYSQL 5.5 中的函数卡住了,例如:
请检查以下查询,考虑10,9,5,8,21
是用户 ID
SELECT u.user_id,u.first_name,u.last_name
FROM user u
WHERE
u.is_active = 'Y'
AND FIND_IN_SET(u.user_id,'10,9,5,8,21');
当我触发此查询时,它会给我结果中的用户 ID 的升序
5
8
9
10
21
我想要和我输入的顺序一样
10
9
5
8
21
有没有办法实现它?
存储过程
DROP PROCEDURE IF EXISTS databaseName.procName;
DELIMITER //
CREATE PROCEDURE databaseName.procName(IN ZoneIDs LONGTEXT)
BEGIN
SELECT u.user_id,u.first_name,u.last_name
FROM user u
WHERE u.is_active = 'Y'
AND FIND_IN_SET(u.user_id,ZoneIDs);
END //
DELIMITER ;