0
實施例的存儲過程:案例條件在MySQL存儲過程
DELIMITER //
CREATE PROCEDURE GetOfficeByCountry(IN yr_order tinyint(1))
BEGIN
SELECT *
FROM offices
WHERE country LIKE 'A';
ORDER BY
CASE yr_order
WHEN 1 THEN updated
WHEN 2 THEN likes
ELSE 1 END
ASC
END //
DELIMITER ;
yr_order
是一個存儲過程參數。當ASC
條件後,把該查詢是罰款:
CASE yr_order
WHEN 1 THEN updated
WHEN 2 THEN likes
ELSE 1 END
ASC
我可以把不同的排序順序是這樣每個條件:
CASE yr_order
WHEN 1 THEN updated ASC
WHEN 2 THEN likes ASC
WHEN 3 THEN updated DESC
WHEN 4 THEN likes DESC
ELSE 1 END
我收到與語法錯誤。有沒有什麼辦法可以針對每種情況使用不同的排序?
http://stackoverflow.com/questions/15621609/t-sql-conditional-order-by – Codeek 2014-12-03 11:34:39