Mysql 选择前两个字符并忽略重复字符

Mysql 选择前两个字符并忽略重复字符,mysql,Mysql,我目前正在开发一个MySQL数据库,它存储了许多独特的邮政编码。这就是它的样子: postcode_id | postcode ------ | ------ 1 | BA10EJ 2 | TR96PY 3 | TA64RD 4 | EX54NA 5 | EX167DT 我想选择前两个字符,只列出唯一的字符,所以如果有两个EX,我只需要显示EX一次 这就是我想要得到的: po

我目前正在开发一个MySQL数据库,它存储了许多独特的邮政编码。这就是它的样子:

postcode_id | postcode
     ------ | ------
        1   | BA10EJ  
        2   | TR96PY 
        3   | TA64RD 
        4   | EX54NA 
        5   | EX167DT
我想选择前两个字符,只列出唯一的字符,所以如果有两个EX,我只需要显示EX一次

这就是我想要得到的:

postcode
 ------
   BA  
   TR 
   TA 
   EX

通过使用此查询解决了我的问题:

SELECT DISTINCT LEFT(postcode, 2) FROM cc_postcodes

谢谢大家的帮助

这可以通过MySql
left(str,len)
函数实现。此函数返回字符串str中最左边的len字符,如果任何参数为NULL,则返回NULL

select distinct left(<mycolumn>, <no_of_chars>) as <myColumn> from <mytable>
从中选择不同的左(,)
要了解有关

的更多信息,请使用获取唯一条目

SELECT DISTINCT LEFT(postcode,2) FROM postcodes;

请参见此操作

您的查询尝试是什么样子的?它是如何无法满足您的需求的?向我们展示所需的输出。请注意,并非所有英国邮政编码的开头都有两个字母,有些邮政编码只有一个字母,例如伯明翰地区的B和谢菲尔德地区的S。我没有投反对票。在将我的查询和您的查询结合起来后,它起作用了,请参见我的答案。谢谢你的帮助。
SELECT DISTINCT LEFT(postcode,2) FROM postcodes;