T-SQL:忽略/忽略特定列的重复数据

时间:2010-03-03 11:40:25

标签: sql sql-server-2005 tsql

对于我的问题,我们考虑以下样本表数据:

ProductID产品名称价格类别

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


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

ProductID产品名称价格类别

1 Apple 5.00水果
3种橙色3.00水果
4香蕉2.00水果


正如您所看到的,ProductID 2已被忽略/忽略,因为Apple已存在于结果中,即每个产品必须只出现一次,无论其类别或价格如何。

由于

1 个答案:

答案 0 :(得分:2)

SELECT  *
FROM    (
        SELECT  *, ROW_NUMBER() OVER (PARTITION BY productName ORDER BY price) AS rn
        FROM    mytable
        ) q
WHERE   rn = 1