一尘不染

返回字段的DISTINCT第一个字符(MySQL)

sql

我想生成数据库中列的所有首字母的字符列表。下面的SQL不能解释我想返回的内容。

从mydatabase中选择DISTINCT first_character(name)

有没有办法在MySQL中做到这一点?

编辑 使用SUBSTRING而不是LEFT有什么好处,反之亦然?

编辑 目前,表中约有1700条记录,并且还在不断增长。


阅读 130

收藏
2021-03-17

共1个答案

一尘不染

很抱歉这样做,但是我确切地想出了我刚才需要做的事情。

从mydatabase中选择DISTINCT LEFT(name,1)

这将返回该列中每一行开始的第一个不同的单个字符的列表。我添加了将其更改为以下内容,以字母数字顺序获取列表:

SELECT DISTINCT LEFT(name,1)as from mydatabase ORDER BY letter作为字母

奇迹般有效。

2021-03-17