我有一个表,其中有一个全名列。我希望获得唯一的给定名称或给出的名称,按其出现的次数排序。
fullname
-----------
Barack Hussein Obama
Michael Jackson
William Jefferson Blythe
Michael Bloomberg
所以输出将是
Barack Hussein Obama
William Jefferson Blythe
或者
Barack Hussein Obama
William Jefferson Blythe
Michael Jackson
Michael Bloomberg
或者
1|Barack
1|William
2|Michael
这样的事情。我的目标是在我的数据库中看到外国学生。我只有他们的全名来猜测。
答案 0 :(得分:5)
您可以使用SUBSTRING_INDEX(fullname,' ',1)
根据您的定义提取“给定名称”。
然后,您可以根据需要将其用于分组或排序,例如
SELECT COUNT(*),SUBSTRING_INDEX(fullname,' ',1) AS givenname
FROM yourtable
GROUP BY givenname;