Получить последнюю запись каждого пользователя по Eventid - PullRequest
1 голос
/ 15 мая 2019

из следующих дБ,

   id      userid        eventid      created_at
    1         1            100      2010-01-01
    2         1            101      2010-02-01
    3         1            100      2010-03-01
    4         1            101      2010-04-01
    5         2            100      2010-05-01
    6         2            100      2010-06-01

Я пытаюсь получить последние действия каждого пользователя на основе eventid, с выводом, подобным этому:

6         2            100      2010-06-01
4         1            101      2010-04-01
3         1            100      2010-03-01

Ответы [ 2 ]

4 голосов
/ 15 мая 2019

Используйте group by и aggregation

select userid,envid,max(id) as id, max(created_at) as created_at
from tablename a
group by userid,envid
3 голосов
/ 15 мая 2019

Использование Номер по номеру

SELECT *
FROM (SELECT ROW_NUMBER() OVER (PARTITION BY userid, eventid ORDER BY id DESC) as RId,
             t.*
      FROM Tablename t
     ) T
WHERE RId = 1 ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...