2012-04-18 6 views
0

BCS라는 테이블과 HPTS 및 Team이라는 이름을 사용해야하는 두 개의 열이 있습니다. HPTS에서 가장 낮은 가치를 가진 팀의 팀 이름을 나열해야합니다.MIN()에 관한 SQL 쿼리 및 행에서 다른 값 반환

현재

는 내가 가지고있는 것은 다음과 같다 (나는이 중요한 경우 Access에서이 작업을하고있는 중이 야) :

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

이 나에게 HTPS 열에서 각 팀의 최소 값을주고 있지만, 어쨌든이 열에 팀당 단 하나의 가치가 있기 때문에 이것은 쓸모없는 정보입니다.

SELECT MIN(HPTS) 
FROM BCS 

하지만 나뿐만 아니라 팀 이름이 필요합니다 :

난 그냥 사용하여 해당 팀없이 최소 값을 얻을 수 있어요. 어떤 도움이라도 대단히 감사하겠습니다. JOIN 함수를 사용하는 것과 관련이 있을지 모르지만 확실하지 않습니다.

+0

동점의 경우 어떻게해야합니까? –

답변

0

HPTS에서 가장 낮게 주문하고 1 행으로 제한하는 것은 어떻습니까?

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

그것은 MySQL 구문입니다. AFAIK Access는 SQL Server와 같은 SELECT TOP N 구문을 사용합니다. – g13n

0

나는이 밖으로 시도하지만 당신은 여기에 하위 쿼리를 사용할 필요가 다음

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

을보십시오하지 않았습니다. 당신은 또한 "정상"에 실제로 무엇을 결정하기 BY 주문을 사용할 때

SELECT * FROM BCS WHERE HPTS IN (SELECT MIN(HPTS) FROM BCS) 
2
TSQL에서

, 내가 액세스/제트 믿는 역시 당신은 오랫동안 TOP N 절을 사용할 수 있습니다. 당신이 그것을 떠날 수

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

상승은 기본이지만, TOP을 사용하는 경우가 나는 보통에 넣어 너무 중요합니다 그리고 놀라운 세계에 오신 것을 환영합니다 : 그것은 다른 사람에 의해 언급 된 하위 쿼리보다 아마 더 효율적입니다. 오 SQL!

+1

JET에서는 두 개 이상의 레코드를 반환 할 수 있습니다. –

+0

단일 결과가 필요하고 일치하는 결과가 있다고 생각하지 않으면 'HPTS, AnyUniqueFieldInTheTable을 주문할 수 있습니다.' – Fionnuala