2010-12-16 3 views
0

lastNames 및 userNames 테이블이 있습니다. lastName과 해당 userName에 대해 '가장 작은'(어휘 적으로 말하면) 값을 원합니다. 이것은 내가 무엇을 가지고 (이 작품) :하위 테이블을 사용하여 WHERE 절에서 MIN SQL 함수를 참조하려면 어떻게합니까?

SELECT lastName, userName FROM user WHERE lastName IN (SELECT MIN(lastName) FROM user); 

지금 내가이 작업을 수행 할 수 있지만 (예를 들어, 단지 라스트 네임에 대한 'P'로 시작하는) 테이블의 부분 집합에 그것을 할 :

SELECT subT.lastName, subT.userName 
FROM (SELECT lastName, userName FROM user WHERE lastName LIKE 'p%') AS subT 
WHERE subT.lastName=MIN(subT.lastName) 

이것은 작동하지 않습니다. 나는 select_item으로 MIN 함수를 넣으려고했지만 MIN 함수에 해당하는 userName도 원합니다. 어떻게해야합니까? 날이 개발하는

SELECT lastName, 
     userName 
    FROM user 
    WHERE lastName = (SELECT MIN(lastName) 
         FROM users 
         WHERE lastName LIKE 'p%') 

답변

3
SELECT lastName, 
     userName 
    FROM user 
    WHERE lastName LIKE 'p%' 
ORDER BY lastName DESC 
    LIMIT 1 

당신이 같은 LASTNAME으로 여러 사용자를 얻을 것으로 예상하는 경우

후 하위 쿼리를 사용합니다. 감사!
+0

훌륭한 출발점 : – Avery

관련 문제