2014-10-19 4 views
0

SQL에 익숙하며 두 번째로 너무 많은 우선 순위 수준 (정수)을 찾으려고합니다. 아래의 SQL은 최신 우선 순위 수준을 계속 유지합니다.두 번째로 마지막 레코드 SQL 쿼리

select priority_level 
from wers_assessment a 
where 
    a.client_id=rc.client_id and 
    assessment_id = (
    select max(assessment_id) 
    from wers_assessment aa 
    where aa.client_id = a.client_id and priority_level < (
     select max(assessment_id) 
     from wers_assessment aa 
     where aa.client_id = a.client_id 
    ) 
) 
+0

'priority_level <( select max (assessment_id)''priority_level'과'assessment_id'의 관계는 무엇입니까? –

+0

쿼리의 쿼리에서 찾으십시오 .hmm. –

+0

"rc."의 정의가 없습니다. 그 "aa."? – russ

답변

0

일부 데이터를 게시하십시오! 캔트 당신이 제공 한 것과 많은 도움이 ...하지만 그건 제쳐두고 당신이 원하는 무엇의 요점은 선택이 하나에 의해 이중 순서를 수행 할 UNION 구문을 사용하고이

(SELECT priority_level 
FROM wers_assessment a 
WHERE a.client_id=rc.client_id 
    AND assessment_id = 
    ( SELECT MAX(assessment_id) 
     FROM wers_assessment aa 
     WHERE aa.client_id = a.client_id 
    ) 
ORDER BY priority_level DESC 
LIMIT 2 
) 
ORDER BY priority_level ASC 
LIMIT 1 

주입니다

관련 문제