2012-04-19 9 views
0

は以下の表を考えてみましょう:SELECT DISTINCTのみ最初の4つの数字

ticker code 
-------------- 
AA  151040 
AAP  452020 
DOW  151010 
DVN  151020 
EXC  452050 
FAD  452070 
POE  207010 

私はコードあたりのティッカーを選択したいと思います - しかし、比較は、コードの最初の4つの数字(そうで行わなければなりません:1510 、4520、1510、など)、のような結果を与える:私は最初の4つの数字を取ることができますどのようなクエリで

1510 AA 
1510 DOW 
1510 DVN 
4520 AAP 
4520 EXC 
4520 FAD 
2070 POE 

+0

「DISTINCT」はどこで再生されますか? – Travesty3

+0

私はこの種の質問を読むのに疲れているので、私はあなたを落胆させました。検索には何がありますか?何を試してみましたか?私は決してMySQLを使用していないし、試すものを見つけるために私にgoogleに単一のクエリを取った。あなたは機能が何であるかわからない...私はどちらも。しかし、 'mysql'、' string' 'function'を探して、多くのヒットを得ました... 人格を持たないでください –

答えて

2

使用LEFT

SELECT LEFT(code, 4) AS code, ticker FROM tbl ORDER BY code; 
1
SELECT SUBSTRING(code,1,5) AS SUB_CODE,ticker 
FROM TABLE; 
+0

[' GROUP BY'](http://dev.mysql.com/doc/refman/ 5.0/ja/group-by-functions.html)は集合関数のためのものです。このクエリでは何もしません。 – Travesty3

+0

OOPS ..私の悪い..今変更.. – Teja

+0

@ Travesty3 DISTINCTの代わりにGROUP BYを使うことができます... –

1

あなたがで順序を使用すると、最初の4つの左(コード、4)を選択するために、MySQLでLeft関数を使用することができます。

関連する問題