2012-01-05 110 views
1

例如,SQL - 查找具有相同值的不同名稱

在「汽車」表中,您有'法拉利'出現4次。而'蘭博基尼'和'福特'出現4次。

您如何通過SQL指令顯示'Car'中與法拉利具有相同價值/數量的所有車輛?

任何幫助表示讚賞。

感謝

+0

你是什麼按價值/金額計算?它出現的次數? – StevieG 2012-01-05 13:08:54

回答

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

行,太慢了...這是爲老闆正在添加:-)

+0

謝謝,幫助! – Brian 2012-01-05 13:42:49

+0

我很高興它做到了,但Li0liQ [here](http://stackoverflow.com/a/8743058/1127872)與同樣的答案更快,所以接受可能應該讓他公平 – voidengine 2012-01-05 14:26:15

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

不回答問題 – 2012-01-05 13:14:07

+0

你說得對,我誤解了這個問題。 – cha0site 2012-01-05 13:17:40

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的方式... – 2012-01-05 13:12:21

+0

也應該爲SQL Server工作。 – 2012-01-05 13:14:28