我有一个MySql函数,它定义了表行的排序,给定主键
CREATE FUNCTION CmpRows (a INT, b INT)
BEGIN
IF ((SELECT foo FROM Bar WHERE id=a) etc...)
THEN
RETURN -1;
ELSEIF (other stuff)
THEN
RETURN 1;
ELSE
RETURN 0;
END IF;
END
我可以让MySQL使用此函数对结果集进行ORDER BY吗?
答案 0 :(得分:0)
声明此函数是确定性的
CREATE DETERMINISTIC FUNCTION ...
而且,当你宣布它时,不要撒谎。确保它确实是确定性的。也就是说,确保每次输入的结果都相同。
然后它应该工作。