2011-12-12 59 views
2

我有一个表格,其数据格式如下。我只需要一个代码和电话号码。无论我得到哪个电话号码都无所谓,我只需要一个电话号码。检索一列而不是另一列的不同SQL查询结果

  • 代码phoneNumber的
  • 1000009 (123)752-0108
  • 1000257 (456)718-1229
  • 1000257 (789)750-1057
  • 1000259 (000)000-0001 1000259( 代码电话:111)453-0522 1000259 (222)460-8947 1000270 (333)528-6468 1000276 (444)384-5571

我需要会是什么样的结果数 1000009 (123)752-0108 1000257 (456)718-1229 1000259 (000)000-0001 1000270 (333)528-6468 1000276 (444)384-5571

与SQL任何帮助查询将不胜感激。谢谢

回答

2

如果任何PHONENUMBERS对于给定的代码就足够了,你可以使用一个GROUP BY与任何aggregating functions来完成这一点

本例使用MAX聚合函数。

SELECT Code 
     , PhoneNumber = MAX(phoneNumber) 
FROM Table 
GROUP BY 
     Code 
1
WITH cteRowNum AS (
    SLEECT Code, phoneNumber, 
      ROW_NUMBER() OVER(PARTITION BY Code ORDER BY phoneNumber) AS RowNum 
     FROM YourTable 
) 
SELECT Code, phoneNumber 
    FROM cteRowNum 
    WHERE RowNum = 1; 
相关问题