2013-07-11 3 views
0

VBA 코드를 작성하지 않고 Microsoft Access (2010)에서이 결과 쿼리를 수행하는 방법이 있는지 궁금합니다.요약 값 목록을 기반으로 행을 선택하는 쿼리

나는이 같은 데이터 테이블이 (더 많은 필드, 만 계산 것들을 표시) :

Customer ID  City Name 
1     Chicago 
2     Chicago 
3     New York 
4     San Antonio 
5     Seattle 
6     Seattle 
7     Walbash 
8     Walbash 

내가 각 도시와 하나 개의 행을 선택합니다. 예를 들어 시카고의 행 1 또는 2를 선택하려고합니다.

위의 쿼리를 작성 후 가입 않습니다

결과 결과 Max()

편집, First()Min()이다 사용하는 다른 옵션이

Customer ID  City Name 
1     Chicago 
3     New York 
4     San Antonio 
etc 

답변

0

이 같은 시도이다 다음 reply.I이 그룹화 작업을 수행하는 방법을 이해하기위한

select * 
from Table1 t1 
where t1.CustomerID = (select min(t2.CustomerID) from table1 t2 where t1.CityName = t2.CityName) 
order by t1.CustomerID 
+0

이것은 나를 위해 일했습니다. 그러나, 그것은 오랜 시간을 뛰었습니다. 그래서 두 가지 작업으로 나눠 봤습니다. 첫 번째 작업에서는 CITY 목록과 최소 CustomerID 요약을 만들었습니다. 그런 다음 원래 테이블에 "선택 필드"열을 추가했습니다. 그런 다음 Summary 테이블을 기반으로 선택 필드를 업데이트했습니다 (City 및 (최소) CustomerID를 CustomerID에 합치기). 이것은 훌륭하게 작동했습니다. – user1641439

0
SELECT First(Table1.CustomerID) AS FirstOfCustomerID, Table1.CityName 
FROM Table1 
GROUP BY Table1.CityName; 

예와 유사하게 보일 것이다 원래 표를 사용하여 레코드를 선택하십시오. 나는 위의 질의 Q1라는 이름의 원래 테이블 Table1

SELECT Q1.FirstOfCustomerID, Q1.CityName, Table1.Data 
FROM Q1 INNER JOIN Table1 ON Q1.FirstOfCustomerID = Table1.CustomerID; 
+0

감사합니다. 각 그룹에서 하나의 레코드 만 선택하면됩니다. 하나의 쿼리에서이를 수행하거나 각 그룹의 첫 번째 레코드에 태그를 지정할 수 있습니다. – user1641439

+0

나는 이해할 것이라고 생각하지 않는다. 질문에서 설명한 것과 정확히 일치하기 때문에 원래의 질문을 다시 말해야합니다. – ashareef

+0

아, 나는 당신이 의미하는 바를 깨닫는다 고 생각합니다. 다른 분야는 고유하고 선택하고 싶습니다. 기록. 나는 나의 대답을 편집했다. – ashareef

관련 문제