我有一个包含字段make和model的简单表格。
我正在试图找出一个查询,告诉我何时我有一个由超过1个make共享的模型。也就是说,如果福特和吉姆都制造了一个名为“火箭”的汽车模型,我想知道这一点。
我正在使用Sql Server,但我认为这不重要。
我做了一个疯狂的猜测当然不对。
select make,
model
group by make,
model
where count(MODEL) > 2
答案 0 :(得分:1)
即将结束,如果表格make
包含多个model
,那么model
和make
就会有t
make
唯一对model
和select make, model
from t
where model in (
select model
from t
group by model
having count(*) > 1
)
。
make
如果model
和count(distinct make)
不是表的唯一对,则可以使用select make, model
from t
where model in (
select model
from t
group by model
having count(distinct make) > 1
)
代替:
exists()
你也可以使用select make, model
from t
where exists (
select 1
from t as i
where i.model=t.model
and i.make<>t.make
)
查询而不是执行聚合,如下所示:
{{1}}