我正在通过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));