2016-10-06 2 views
1

У меня есть настройки таблицы, как этотВыберите самую высокую версию из таблицы для каждой строки

ID JOBID REPORTNAME REVISION PDFLOCATION 

1 1  RPT1  1  /var/rpt1.pdf 
1 2  RPT2  1  /var/rpt2.pdf 
1 1  RPT1  2  /var/rpt3.pdf 

Как выбрать все строки, но я хочу только самую высокую ревизию за jobid и пример результата запроса должен быть

1 2  RPT2  1  /var/rpt2.pdf 
1 1  RPT1  2  /var/rpt3.pdf 

ответ

2

Если я правильно понимаю, вы хотите, чтобы выбрать запись, имеющую максимальное количество изменений для каждого ID/JOBID группы.

SELECT t1.* 
FROM yourTable t1 
INNER JOIN 
(
    SELECT ID, JOBID, MAX(REVISION) AS REVISION 
    FROM yourTable 
    GROUP BY ID, JOBID 
) t2 
    ON t1.ID  = t2.ID AND 
     t1.JOBID = t2.JOBID AND 
     t1.REVISION = t2.REVISION 
+0

Точно, что мне нужно, благодарю вас за ваше время. –

+0

Рад помочь вам :-) –

Смежные вопросы