关于MIN()的SQL查询并从行返回另一个值

时间:2012-04-18 05:48:53

标签: sql ms-access

我有一个名为BCS的表,我需要使用两个名为HPTS和Team的列。我需要列出HPTS中最低值的团队名称。

(如果这很重要,我在Access中这样做)

目前我所拥有的是以下内容:

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

这给了我HTPS专栏中每个团队的最小价值,但这对我来说是无用的信息,因为无论如何该列中每个团队只有一个值。

我可以通过使用以下方式获得没有相应团队的最小值:

SELECT MIN(HPTS)
FROM BCS

但我也需要拥有团队名称。任何有关这方面的帮助将不胜感激。我认为这可能与使用JOIN功能有关,但我不确定。

4 个答案:

答案 0 :(得分:2)

在TSQL中,我也相信Access / Jet,你也可以使用TOP N子句,只要你也使用ORDER BY来确定“top”上的实际内容。它可能比其他人提到的子查询更有效:

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

ASCENDING是默认设置,因此您可以将其删除,但在使用我通常使用的TOP时非常重要。欢迎来到SQL的精彩世界!

答案 1 :(得分:1)

您需要在此处使用子查询。

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

答案 2 :(得分:0)

如何通过HPTS从最低位置订购它并将其限制为1行?

SELECT TEAM, HPTS FROM BCS order by HPTS LIMIT 1

答案 3 :(得分:0)

我没试过,但请尝试以下

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