[英]Need help for sql query
我需要幫助來找到以下練習的解決方案:我有此表:
maker model type
E 2010 laptop
E 1013 pc
E 1012 pc
D 2007 laptop
D 1011 pc
D 1010 pc
D 1009 pc
C 3006 printer
C 3003 printer
而且我需要以至少700的速度找到至少2台不同計算機(Pc)的制造商。我嘗試了幾次查詢,但沒有進行任何操作。 您能告訴我我該如何寫此查詢才能正確?
速度列位於另一個名為PC的表中,我們在其中有型號,速度,價格等信息,我已經嘗試過一些類似的查詢:
select maker from product p
join pc pc on pc.model=p.model
where pc.speed>700
group by maker
having count(distinct p.model)>=2;
但是它不能正常工作,我也不知道該怎么辦! 如果您能幫助我,我將不勝感激!
為了退還Manufacturers of at least 2 different computers
的Manufacturers of at least 2 different computers
您需要確保所計數的型號不同。 否則,您可能會計算兩次相同的模型(除非[maker,model]對中的唯一性)
select maker from table
where type = 'pc' and model >= 700 -- Should be Speed in this line?
group by maker
having count(distinct model) >= 2
按maker
分組並相應地過濾結果:
SELECT maker
FROM my_table
WHERE type = 'pc' AND model >= 700
GROUP BY maker
HAVING COUNT(*) >= 2
在sqlfiddle上看到它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.