繁体   English   中英

通过eventid获取每个用户的最新记录

[英]Get the last record of each user by eventid

从以下数据库中,

   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

使用group byaggregation

select userid,envid,max(id) as id, max(created_at) as created_at
from tablename a
group by userid,envid

使用行号

SELECT *
FROM (SELECT ROW_NUMBER() OVER (PARTITION BY userid, eventid ORDER BY id DESC) as RId,
             t.*
      FROM Tablename t
     ) T
WHERE RId = 1 ;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM