sql语句——根据学生分组并获取学生最新一条时间的记录信息


需求

  根据学生ID分组获取学生时间最新的一条记录的全部信息

数据库表

[id] int NOT NULL IDENTITY(1,1) ,
[stuId] nvarchar(100) COLLATE Chinese_PRC_CI_AS NULL ,
[actionTime] datetime NULL 

sql语句(Mybatis)

select *
        from(
            select
                id,  stuId, actionTime,
                actionType,ROW_NUMBER() over(partition by stuId order by actionTime desc) as rn from notice_log
            where
                stuId in
                
                    #{stuId}
                
        )a where a.rn  1

查询结果:

  查询时间有点久