如何编写此查询SQL-server 2014

0 sql-server

这是我的表结构:

id value
1 -1
1  0
1 -11
3 -1
3  9
2 -1
2 -3
2 -8
2 -10
Run Code Online (Sandbox Code Playgroud)

output = 2

如何选择id所有值的位置negative

select id from table where value <0
Run Code Online (Sandbox Code Playgroud)

但它也给了其他身份!

我需要选择所有值都是的id negative

Dam*_*ver 5

如果他们都是负面的,那么他们中最大的也将是负面的:

select id
from table
group by id
having MAX(Value) < 0
Run Code Online (Sandbox Code Playgroud)

通常,如果要一起考虑多个行,则可以使用某种形式的GROUP BY子句来说明不同行的关联方式.HAVING允许您在组成行之前对行进行断言,这与WHERE关于单个行的断言的位置不同.