关于MIN()并返回行
的SQL查询我有一个名为BCS的表,我需要使用两列名为HPTS和Team。我需要列出HPTS中价值最低的团队的团队名称。关于MIN()并返回行
(我在访问这样做,如果这事项)
目前我有什么如下:
SELECT TEAM, MIN(HPTS)
FROM BCS
GROUP BY Team
这是给我的每支球队在HTPS列中的最低值,但这对我来说是无用的信息,因为无论如何,该列中每个团队只有一个值。
我能够用先手没有相应的团队最小值:
SELECT MIN(HPTS)
FROM BCS
,但我需要有队名也。任何帮助,这将不胜感激。我认为这可能与使用JOIN功能有关,但我不确定。
如何通过HPTS从最低订购它并将其限制为1行?
SELECT TEAM, HPTS FROM BCS order by HPTS LIMIT 1
这就是MySQL语法。 AFAIK Access使用像SQL Server这样的'SELECT TOP N'语法。 – g13n 2012-04-18 05:54:41
我没有尝试这样做了,但请尝试以下
SELECT TEAM FROM BCS where HPTS = (SELECT MIN(HPTS) FROM BCS)
这里需要使用子查询。
SELECT * FROM BCS WHERE HPTS IN (SELECT MIN(HPTS) FROM BCS)
在TSQL的,我相信在Access /喷气机,也可以使用TOP N子句,只要你还使用ORDER BY,以确定究竟是在“顶”。这也可能是更有效的比其他人所说的子查询:
SELECT TOP 1 Team, HPTS FROM BCS ORDER BY HPTS ASCENDING
上升是默认的,所以你可以离开它,但它使用TOP时是如此重要,我通常把它放在欢迎来到奇妙世界。 o'SQL!
请注意,在JET中,这可能会返回多条记录。 – 2012-04-18 06:39:44
如果需要单个结果,而且您不关心是否存在匹配结果,则可以通过“ORDER BY HPTS,AnyUniqueFieldInTheTable” – Fionnuala 2012-04-18 09:37:02
在领带的情况下该怎么办? – 2012-04-18 05:56:20