在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 Smith
和 John James Smith
和 John Smith-Fontleroy
) .即
SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 3), ' ', -1) AS last_name
不过,与对名为 lastName
的列进行排序相比,这一切都非常低效。
【讨论】:
@amdixon 确定 - 添加示例以支持我的中间段落。最后一句是重点。以上是关于在mysql中按字母顺序对全名进行排序的主要内容,如果未能解决你的问题,请参考以下文章
在 Android 中按字母顺序对 Hashmap 值类型进行排序