在mysql中按字母顺序对全名进行排序

Posted

技术标签:

【中文标题】在mysql中按字母顺序对全名进行排序【英文标题】:sort full name in alphabetical order in mysql 【发布时间】:2015-05-03 07:53:03 【问题描述】:

我有一个包含成员名称列表的表格,我想按字母顺序对它们进行排序。我有成员的全名,比如 Joe Bloggs,有没有办法可以按姓氏的字母顺序对他们进行排序。

我知道它的“select * from member ORDER BY name ASC”;

【问题讨论】:

ORDER BY name,lastname 我没有姓氏,成员的名字只是名字。成员的名字是他们的名字和姓氏。我没有名字和姓氏,只是名字。 【参考方案1】:

没有一种不错的方法可以做到这一点。这就是为什么人们通常将姓氏存储在自己的列中。

您必须创建一个算法来确定如何将全名拆分为组成部分(即,也许您可​​以按空格拆分并取最后一个值,该值将处理 John SmithJohn James SmithJohn Smith-Fontleroy) .即

SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 3), ' ', -1) AS last_name

不过,与对名为 lastName 的列进行排序相比,这一切都非常低效。

【讨论】:

@amdixon 确定 - 添加示例以支持我的中间段落。最后一句是重点。

以上是关于在mysql中按字母顺序对全名进行排序的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中按字母顺序对 XML 文档进行排序

在 Android 中按字母顺序对 Hashmap 值类型进行排序

在Javascript中按字母顺序对字符串进行排序

在Javascript中按字母顺序对字符串进行排序

如何在 swift 中按字母顺序对 JSON 字符串进行排序?

如何在C中按顺序对带有数字和字母的文件名进行排序?