簡體   English   中英

需要幫助的SQL查詢

[英]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 computersManufacturers 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM