您可以通过函数更改MySQL排序吗?我试图按照任意顺序对我的值进行排序。按自定义顺序对包含字母和符号的值进行排序
当前正在寻找方法来注入一个函数,可以帮助我在这里添加一列并修改导入。
这就是我想要的顺序:
AAA
AA+
AA
AA-
A+
A
A-
BBB+
BBB
BBB-
BB+
BB
BB-
B+
B
B-
CCC+
CCC
CCC-
CC
这是使用排序我的结果:
A
A+
A-
AA
AA+
AA-
AAA
B
B+
B-
BB
BB+
BB-
BBB
BBB+
BBB-
C
CC
CCC
CCC+
CCC-
编辑: 尝试,但得到的语法错误:
CREATE FUNCTION sortRating (s CHAR(20))
RETURNS INT(2)
DECLARE var INT
CASE s
WHEN 'AAA' THEN SET var = 1
WHEN 'AA+' THEN SET var = 2
ELSE
SET VAR = 3
END CASE
RETURN var
END;
你只有在字符串的开头字母? – 2015-03-02 16:32:07
这组数值是有限的吗?如果是这样,那么创建具有分配的等级值的查找表将是最容易的。 – 2015-03-02 16:32:28
yes-值是有限的。正在研究用大量的case语句编写我的第一个存储过程。 @MichaelBerkowski - 查找表是什么意思? – ovatsug25 2015-03-02 16:33:39