T-SQL: пропуск / игнорирование повторяющихся данных из определенного столбца - PullRequest
5 голосов
/ 03 марта 2010

Для моего вопроса давайте рассмотрим следующие данные таблицы:

ProductID ProductName Цена Категория

1 яблоко 5,00 фруктов
2 Apple 5.00 Еда
3 апельсина 3.00 фруктов
4 банана 2.00 фруктов


Мне нужен запрос, который приведет к следующему набору данных:

ProductID ProductName Цена Категория

1 яблоко 5,00 фруктов
3 апельсина 3.00 фруктов
4 банана 2.00 фруктов


Как вы можете видеть, ProductID 2 был пропущен / проигнорирован, потому что Apple уже присутствует в результате, то есть каждый продукт должен появиться только один раз, независимо от категории или цены.

Спасибо

1 Ответ

2 голосов
/ 03 марта 2010
SELECT  *
FROM    (
        SELECT  *, ROW_NUMBER() OVER (PARTITION BY productName ORDER BY price) AS rn
        FROM    mytable
        ) q
WHERE   rn = 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...