我有一个MySQL的功能定义上表中的行排序,给出主键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结果集?
是的,它应该工作。你尝试过使用这个吗? –
@TimBiegeleisen我不知道'SELECT ... ORDER BY CmpRows(???,???)'语境中的语法是什么' - 我如何告诉它使用主键来代替参数呢? – spraff