2016-12-03 3 views
-3

私は現在、ユニークなポストコードをたくさん格納しているMySQLデータベースで作業しています。私は一度だけEXを表示するために必要な2つのEXSがあるので、もし私が、最初のカップルの文字を選択して、唯一のユニークなものをリストアップしたいと思います最初の2文字を選択して重複を無視してください

postcode_id | postcode 
    ------ | ------ 
     1 | BA10EJ 
     2 | TR96PY 
     3 | TA64RD 
     4 | EX54NA 
     5 | EX167DT 

:これは、それがどのように見えるかです。

これは私が取得しようとしているものです:

このクエリを使用して私の問題を解決するために管理
postcode 
------ 
    BA 
    TR 
    TA 
    EX 
+1

を参照してください?どのようにあなたのニーズを満たすことができませんでしたか? –

+0

希望の出力を表示 –

+0

英国のすべての郵便番号には最初に2文字が付いているわけではなく、いくつかの文字はBirmingham地域のBとSheffield地域のSのように1文字しかないことに注意してください。 –

答えて

2
Select distinct substr(postcode,1,2) 
from my_table; 
+2

私はなぜdownvoteを知っているかもしれませんか? – GurV

+0

なぜこの答えを下降させなければならないのかわかりません。 – Rahul

+0

私はそれをdownvoteしなかった。私のクエリとあなたのクエリを組み合わせた後、それは働いた、私の答えを参照してください。ご協力ありがとうございました。 – mateuszjarosz

0

SELECT DISTINCT LEFT(postcode, 2) FROM cc_postcodes 

はあなたの助けありがとうございました!

0

これは、MySql left(str, len)機能によって実現できます。この関数は、文字列strから一番左のlen文字を返します。引数がNULLの場合はNULLを返します。

select distinct left(<mycolumn>, <no_of_chars>) as <myColumn> from <mytable> 

一意のエントリを取得するためにSELECT DISTINCTとよりおよそMySql Left()

0

使用left()を知っています。

SELECT DISTINCT LEFT(postcode,2) FROM postcodes; 

クエリの試みがどのようなものを見ないこの作業SQL Fiddle

関連する問題