2012-04-18 56 views
0

的SQL查詢我有一個名爲BCS的表,我需要使用兩列名爲HPTS和Team。我需要列出HPTS中價值最低的團隊的團隊名稱。關於MIN()並返回行

(我在訪問這樣做,如果這事項)

目前我有什麼如下:

SELECT TEAM, MIN(HPTS) 
FROM BCS 
GROUP BY Team 

這是給我的每支球隊在HTPS列中的最低值,但這對我來說是無用的信息,因爲無論如何,該列中每個團隊只有一個值。

我能夠用先手沒有相應的團隊最小值:

SELECT MIN(HPTS) 
FROM BCS 

,但我需要有隊名也。任何幫助,這將不勝感激。我認爲這可能與使用JOIN功能有關,但我不確定。

+0

在領帶的情況下該怎麼辦? – 2012-04-18 05:56:20

回答

0

如何通過HPTS從最低訂購它並將其限制爲1行?

SELECT TEAM, HPTS FROM BCS order by HPTS LIMIT 1 
+0

這就是MySQL語法。 AFAIK Access使用像SQL Server這樣的'SELECT TOP N'語法。 – g13n 2012-04-18 05:54:41

0

我沒有嘗試這樣做了,但請嘗試以下

SELECT TEAM FROM BCS where HPTS = (SELECT MIN(HPTS) FROM BCS) 
1

這裏需要使用子查詢。

SELECT * FROM BCS WHERE HPTS IN (SELECT MIN(HPTS) FROM BCS) 
2

在TSQL的,我相信在Access /噴氣機,也可以使用TOP N子句,只要你還使用ORDER BY,以確定究竟是在「頂」。這也可能是更有效的比其他人所說的子查詢:

SELECT TOP 1 Team, HPTS FROM BCS ORDER BY HPTS ASCENDING 

上升是默認的,所以你可以離開它,但它使用TOP時是如此重要,我通常把它放在歡迎來到奇妙世界。 o'SQL!

+1

請注意,在JET中,這可能會返回多條記錄。 – 2012-04-18 06:39:44

+0

如果需要單個結果,而且您​​不關心是否存在匹配結果,則可以通過「ORDER BY HPTS,AnyUniqueFieldInTheTable」 – Fionnuala 2012-04-18 09:37:02