2017-10-11 3 views
1

こんにちは私は、電話番号が「区別」の尺度として機能するすべての行を選択する際にselect文を実行する方法についていくつかアドバイスが必要です。idが異なる別の行をすべて選択する

私には何がありますか?私が何をしたいの

|ID |Name |Phone Number| Address | 
| |  |   |   | 
|1 |John | 1234567 | A.Road 1 | 
|1 |John | 1234567 | B.Road 2 | 
|2 |Jane | 7654321 | C.Road 3 | 
|3 |Jim | 7654321 | C.road 3 | 

例:

|ID |Name |Phone Number| Address | 
| |  |   |   | 
|1 |John | 1234567 | A.Road 1 | 
|2 |Jane | 7654321 | C.Road 3 | 

SQLが結果にpicにすることを選択した行のどのに関しては問題ではないだけで行全体が利用可能であること、それが選択を行うこと異なる電話番号の私がここで何をしようとしているのか理解してもらいたいと思います。

+0

どのようにPIC名前/住所のあなたのロジックとは何ですか? – Matt

+2

ご使用のデータベースで質問にタグを付けてください。 –

+0

dbmsに固有の機能が必要な場合がありますので、ターゲットデータベースを@GordonLinoffとして指定してください –

答えて

4

ANSI SQLは一般的なソリューションであるrow_number()機能をサポートしています。

select t.* 
from (select t.*, 
      row_number() over (partition by phone_number order by id) as seqnum 
     from t 
    ) t 
where seqnum = 1; 
+0

これはSql Server 2005でサポートされていますか? – John

+0

SQL Server 2005が使用しているデータベースの場合は、それを使用して質問してください。時間を無駄にすることを提案したり、時間を無駄にしたりしないでください。 row_numberのドキュメントをチェックして、どのバージョンが適用されるかをhttps://docs.microsoft.com/en-us/sql/t-sql/functions/row-number-transact-sql –

+0

アドバイスありがとうございました:) – John

関連する問題