Выберите строку, в которой определенные столбцы никогда не нарушали определенное условие - PullRequest
0 голосов
/ 05 мая 2019

Рассмотрим следующие строки, которые возвращаются из запроса:

name  number
foo     1
foo     9
foo     10
foo     11
bar     12
bar     13
dumb    14

Как выбрать имя, в котором номер такого имени не должен быть меньше 10, и появиться как минимум дважды, поэтому в этом случае яхотел вернуть

name
bar

То, что я пробовал:

select name from my_table
where number >= 10 #<--Problem
group by name
having count(*) >=2 

Это работает частично, потому что он не смог отфильтровать foo.Проблема этого запроса в том, что он сможет отфильтровать foo 1 и foo 9, но будут возвращены foo 10 и foo 11.

1 Ответ

5 голосов
/ 05 мая 2019
select name from my_table 
group by name 
having count(*) >=2 and min(number) >= 10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...