запрос на выбор - исключить строки с повторяющимся значением столбца при условии - PullRequest
0 голосов
/ 11 октября 2018

У меня есть запрос на выборку, который заканчивается результатами, такими как:

ID     COMPLIANT
------------------
10         0
12         0
29         0
29         1
43         1
44         1
44         0

Как получить результаты без этих строк с повторяющимися идентификаторами, при условии, что если идентификатор уже был помечен как COMPLIANT один раз (1 вместо 0), дубликаты строк с COMPLIANT = 0 не отображаются?Я бы хотел:

ID     COMPLIANT
------------------
10         0
12         0
29         1
43         1
44         1

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

это будет работать:

select id, max(complaint) 
from tablename
group by id;
0 голосов
/ 11 октября 2018

Как насчет агрегации?

select id, max(complaint) as complaint
from t
group by id;

Возвращает одну строку для идентификатора.Если у вас может быть несколько жалоб - и вы хотите все из них - тогда альтернатива:

select id, complaint
from t
where complaint = 1
union all
select id, complaint
from t
where not exists (select 1 from t t2 where t2.id = t.id and t2.complaint = 1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...