SQL группа по получению последних результатов - PullRequest
0 голосов
/ 05 июля 2019

Мой вопрос на картинке:

SQL-запрос

Please see the picture

Ответы [ 2 ]

0 голосов
/ 05 июля 2019

если вам нужен последний оборот по num и неделе для каждого po_num, вы должны использовать подзапрос для max ver

    select * 
    from  table a
    inner join  (

      select    max(rev) max_rev
               , week
               , Po_num
           from  table
           group by week, Po_num
    ) t on t.max_rev  = a.rev 
            and t.po_num  = a.po_num  
            and t.week  = a.week 
0 голосов
/ 05 июля 2019

Из результатов, которые вы ищете, кажется, что вы пытаетесь получить наибольшее значение от Rev, когда вы делаете группировку, а также если есть две или более записей с наибольшим Rev, чтобы получить наибольшее число.

Вы можете запустить что-то вроде этого

-- Once you have a unique records, select the unique records with largest "Rev"
select
      num
    , week
    , Po_num
    , max(Rev) Rev
from
      (
       -- First get the max "num" for a unique set of week, Po_num and Rev records
       select
             max(num) num
           , week
           , Po_num
           , Rev
       from
             table
       group by
             week
           , Po_num
           , Rev
      )
;  
...