我有一个 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 结果集吗?
最佳答案
声明此函数是确定性的
CREATE DETERMINISTIC FUNCTION ...
而且,声明时不要撒谎。确保它确实是确定性的。也就是说,确保对于相同的输入,每次的结果都是相同的。
然后它应该可以工作。
关于mysql - MySQL可以通过比较函数排序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41313124/