我正在通过WordPress与MySQL合作,我想根据其单词的倒序对标题进行排序。例如:

Samuel Leroy Jackson -> Jackson Leroy Samuel
Samuel L Jackson     -> Jackson L Samuel
Samuel Jackson       -> Jackson Samuel
Samuel L Jackson Jr  -> Jr Jackson L Samuel


我想通过MySQL进行此操作,以便可以根据结果进行排序。

最佳答案

以下示例将反转一个3字的字符串。您可以以该示例为例,为2个和4个单词的字符串编写类似的反向器(以防您的数据限制为2-4个单词)。
然后,您可以运行3个不同的查询,每个字词查询一次(或将它们与并集结合起来)以处理所有字词。

例如,运行此命令以将输入Jackson Leroy Samuel反转为输出Samuel Leroy Jackson。

SELECT
    CONCAT(SUBSTRING_INDEX('Jackson Leroy Samuel', ' ', - 1),
            ' ',
            SUBSTR('Jackson Leroy Samuel',
                INSTR('Jackson Leroy Samuel', ' ') + 1,
                INSTR('Jackson Leroy Samuel', ' ')),
            LEFT('Jackson Leroy Samuel',
                LOCATE(' ', 'Jackson Leroy Samuel') - 1));

08-17 19:42