Группа уникальных повторяющихся значений (что? да) Oracle SQL

Есть таблица вида

ID HIGH LOW
id1 1 0
id1 1 0
id1 0 0
id2 0 0
id2 0 0
id2 0 0
id2 0 0
id2 0 0

Как мне создать запрос в oracle sql (sqldeveloper, если важно), который отфильтрует только те записи, где в HIGH и LOW всё по нулям для каждого отдельного ID (для примера как в ID2 - там в каждой строке везде нули, а в ID1 только в одной - он в выборку попадать не должен)

Уже всю голову сломал, как запрос написать, чтобы выцепить подобные ID, где во всех вхождениях HIGH и LOW были нули (т.е. даже если в одной строчке где-то будет 1, то ID должен отвалится и в выборку не попасть). Проблема (для меня) в том, что в первом столбце получается много уникальных, но повторяющихся ID, поэтому дистинкт и тому подобное там нельзя использовать...или?


Ответы (2 шт):

Автор решения: SwaD

Можно попробовать вот так

select id from table t 
where t.HIGH = 0 and t.LOW = 0
minus
select id from table t 
where t.HIGH <> 0 or t.LOW <> 0
→ Ссылка
Автор решения: CrazyElf

Кажется, как-то так:

select id from high_and_low
group by id
having sum(high + low) = 0

По поводу одних NULL должно работать такое, просто делаем из NULL нули, а из остального единицы и проверяем в итоге тоже самое:

select id from high_and_low
group by id
having sum(NVL2(high, 1, 0) + NVL2(low, 1, 0)) = 0
→ Ссылка