2012-01-05 2 views
1

Например,SQL - Поиск разных имен с одинаковыми значениями

В таблице «Автомобиль» вы видите «Ferrari» 4 раза. И «Lamborghini» и «Ford» появляются 4 раза.

Как вы можете сделать через SQL команду, которая показывает все автомобили в «Автомобиле», имеющие ту же величину/количество, что и Ferrari?

Любая помощь приветствуется.

Благодаря

+0

что делают вас означает значение/количество? сколько раз оно появляется? – StevieG

ответ

0
select brand from car 
group by brand 
having count(*) = (select count(*) from car where brand = 'Ferrari') 

хорошо, слишком медленно ... это для босса пришедшего в :-)

+0

Спасибо, что помогли! – Brian

+0

Я рад, что это произошло, но Li0liQ [здесь] (http://stackoverflow.com/a/8743058/1127872) был быстрее с тем же самым ответом, поэтому согласие должно, вероятно, пойти к нему, чтобы быть справедливым – voidengine

-1
SELECT COUNT(make) FROM Car WHERE make = 'Ferrari' 
+0

Не отвечает на вопрос –

+0

Вы правы, я неправильно понял вопрос. – cha0site

4
SELECT 
    Name 
FROM 
    Cars 
GROUP BY 
    Name 
HAVING 
    Count(Name) = (
    SELECT 
     Count(*) 
    FROM 
     Cars 
    WHERE 
     Name = "Ferrari" 
    ) 
4

Как об этом

with a as 
(
select make, count(*) tot from car 
group by make 
) 
select * from a where a.tot = (select tot from a where make='Ferrari'); 
+0

Это в Oracle, кстати ... –

+0

Должен работать и для SQL Server. –

Смежные вопросы