【问题标题】:T-SQL: Omit/Ignore repetitive data from a specific columnT-SQL:忽略/忽略特定列中的重复数据
【发布时间】:2011-01-23 04:05:29
【问题描述】:

对于我的问题,让我们考虑以下示例表数据:

ProductID    产品名称    价格   类别

1                苹果                                                                                                                                                                                                                                                                     苹果
2                苹果                 5.00       食物
3                橙色               3.00      水果
4                香蕉                 2.00       水果


我需要一个查询,它会产生以下数据集:

ProductID    产品名称    价格   类别

1                苹果                                                                                                                                                                                                                                                                     苹果
3                橙色               3.00      水果
4                香蕉                 2.00       水果


如您所见,ProductID 2 已被省略/忽略,因为 Apple 已出现在结果中,即每个产品只能出现一次,而与类别或价格无关。

谢谢

【问题讨论】:

    标签: sql sql-server-2005 tsql


    【解决方案1】:
    SELECT  *
    FROM    (
            SELECT  *, ROW_NUMBER() OVER (PARTITION BY productName ORDER BY price) AS rn
            FROM    mytable
            ) q
    WHERE   rn = 1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-06
      • 1970-01-01
      • 1970-01-01
      • 2012-04-23
      • 2018-04-26
      • 1970-01-01
      • 2013-06-25
      • 2021-08-15
      相关资源
      最近更新 更多