2017-10-11 189 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

你是什麼你如何圖片名稱/地址邏輯? – 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

相關問題