我堅持FIND_IN_SET
功能MYSQL 5.5,例如:取消排序結果在MySQL
請檢查下面的查詢,考慮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 ;
從來沒有見過'find_in_set'用在where子句之前?!?!它只是返回第二個參數中的第一個參數的索引...你沒有把它與任何東西進行比較?!?! – ManseUK 2012-04-17 14:19:28