Как избежать всех записей, которые имеют дубликат подарка и получить только уникальные записи? - PullRequest
0 голосов
/ 25 июня 2018

Hy mates,

У меня есть таблица базы данных, которая выглядит так:

uniqueId,asin,rank
1,abc,1
2,xyz,2
3,abc,1
4,xyz,2
5,opq,3

Как видите, асины (abc и xyz) были повторены. Поэтому я хотел бы, чтобы мой запрос полностью их избегал и возвращал только меня (opq).

С наилучшими пожеланиями

1010 * Usama *

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

not exists должен иметь лучшую производительность:

select t.*
from t
where not exists (select 1
                  from t t2
                  where t2.asin = t.asin and t2.id <> t.id
                 );

Для производительности вам нужен индекс на (asin, id).

0 голосов
/ 25 июня 2018

Я думаю, вам нужно

select *
from yourtable a
where 1 = (
  select count(*)
  from yourtable
  where a.asin = asin
)

Демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...