2012-02-13 31 views
0

我想弄清楚如何列出具有最大特定屬性的SQL中的元組。例如,說我有表:如何選擇具有最大特定屬性的SQL中的元組

Cars(make, model, year, engineSize, pistonCapacity) 

,我想列出的元組(S)與最大的活塞容量。

例如,讓我們說我們有:

Lexus, SC430 , 1997, 6, 3.8 
Ford , Mustang, 1986, 8, 5.0 
GMC , Denali , 2009, 8, 6.5 
Ford , F350 , 2009, 8, 6.5 

我想列出GMC Denali車型和福特F350。我試過這個查詢:

SELECT make, model 
FROM Cars 
ORDER BY pistonCapacity DESC limit 1 

其中只列出了GMC Denali。

我又試圖此查詢:

SELECT make, model 
FROM Cars 
HAVING MAX(pistonCapacity) 

,但沒有運氣。

任何人都可以指向正確的方向嗎?

感謝您的幫助提前!

+0

? – Thilo 2012-02-13 05:05:11

+0

@Thilo'LIMIT 1'是MySQL – 2012-02-13 05:09:23

+0

@ todda.speot.is:不一定。 Postgresql也有它。 – Thilo 2012-02-13 05:11:03

回答

4
SELECT make, model 
FROM Cars 
WHERE pistonCapacity=(SELECT MAX(pistonCapacity) FROM Cars) 
1

你沒有指定RDBMS,但在甲骨文(可能大多數人),你可以是您使用的數據庫做

SELECT make, model 
FROM Cars 
WHERE pistonCapacity = (SELECT max(pistonCapacity) FROM Cars) 
+0

'LIMIT 1'是MySQL – 2012-02-13 05:07:39

+0

@ todda.speot.is:不一定。 Postgresql也有它。 – Thilo 2012-02-13 05:10:21

0
SELECT 
     c.make, c.model 
FROM 
     Cars AS c 
    JOIN 
     (SELECT MAX(pistonCapacity) AS maxPistonCapacity 
     FROM Cars 
    ) AS cm 
    ON 
     cm.maxPistonCapacity = m.pistonCapacity 
相關問題