2016-05-13 170 views
0

我有一个名为全名的包含“John Doe”的列的SQL表格MySQL如何在全名字段中按姓氏排序?

如何通过出现在全名列表中的姓氏排序数据?

对于像“John Doe Second”这样的长名字,我想用“Doe”这个词来排列数据。

我正在使用MySQL数据库。

编辑:这里是精度:案例“约翰”是不可能的。我认为最后一个名字应该在我的字符串中的第一个空格之后。

+0

,其中将持续的名字出现在字符串中?在第一个空间之后,第二个空间?你应该清楚地说明。 –

+7

“比利鲍勃桑顿”呢?那么“德雷克”呢?将全名分解为组件并不是一个微不足道的问题。 _right_答案是使用多列,花费尽可能多的时间来清理数据。 –

+2

如果您想以不同的方式处理名字和姓氏(例如,用于排序),那么它应该是两列。一些问题名称已被提及。还有更多。以中文姓氏为例,姓氏首先出现。 –

回答

1

这应该工作:

SELECT * FROM some_table ORDER BY SUBSTR(Name, INSTR(Name, ' ')) 
+0

这是我的问题的答案!谢谢 :) – Helvin

相关问题