2014-10-19 464 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'的關係是什麼? – 2014-10-19 01:00:19

+0

查詢中的查詢嗯。 – 2014-10-19 01:03:30

+0

我沒有看到任何「rc。」的定義。那「aa。」? – russ 2014-10-19 01:59:12

回答

0

請發佈一些數據!不能幫助很多與您所提供的..但拋開你想要做什麼,要點是這個

(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 

注意這是使用UNION語法通過在單一做了雙順序選擇