"id", "location", "local_rate", "long_rate"열이있는 테이블 "rate"가 있습니다. Id는 클라이언트를 구분할 정수 값입니다. 결과는 위치별로 그룹화됩니다. 각 위치 그룹에는 각 클라이언트의 항목이 있습니다. 각 클라이언트에는 다른 local_rate 및 long_rate가 있습니다. 내가 얻고 자하는 것은 위치, 가장 낮은 local_rate와 그 비율을 가진 클라이언트, 그리고 가장 낮은 long_rate와 그 비율을 가진 클라이언트입니다. 테이블의 각 위치에 행이 있습니다. 비율에 대해 일치하는 결과가 여러 개인 경우 하나만 선택하고 해당 값으로 클라이언트 ID를 반환해야합니다.여러 개의 다중 조인을 사용하여 여러 값 가져 오기
location1 | id(min_local_rate) | min_local_rate | id(min_long_rate) | min_long_rate
location2 | id(min_local_rate) | min_local_rate | id(min_long_rate) | min_long_rate
....
가 여기에 지금까지 내 쿼리 :로
결과가 표시됩니다
내가 다시 받고 있어요 것은 모든 행에서 같은 로컬 클라이언트 ID와 같은 긴 클라이언트가 무엇SELECT local.location, local.id, local.local_rate, long.id, long.long_rate
FROM
(SELECT MIN(local_rate), location, id FROM rate GROUP BY location) local
JOIN
(SELECT MIN(long_rate), location, id FROM rate GROUP BY location) long
ON local.location = long.location
GROUP BY local.location;
모든 행의 이드. 위치, 현지 요금 및 긴 요금이 정확합니다.
감사합니다. 나는 최대 비율을 전혀 찾고 있지 않다. 나는 가장 낮은 지역 이자율과 최저 비율을 찾고있다. –
@ NewGuy. . . 나는 일반적으로 "요율"을 사용하고있었습니다. –
좋아, 나는 질문을 편집하여 목표를 좀 더 분명하게하려고 노력했다. 하위 쿼리만으로 location, min_local_rate 및 min_long_rate에 필요한 항목을 정확히 수행합니다. 전체 쿼리는 행을 반환하지 않습니다. –