34,587
社区成员
发帖
与我相关
我的任务
分享
select a.id,a.姓名,a.登记时间,a.登记内容,
(select top 1 b.登记时间
from [表名] b
where b.姓名=a.姓名 and b.id<a.id
order by b.id desc) '上一次的登记时间',
(select top 1 b.登记内容
from [表名] b
where b.姓名=a.姓名 and b.id<a.id
order by b.id desc) '上一次的登记内容'
from [表名] a
select a.*,b.* from
(select top 1 id,[姓名],[登记时间],[登记内容] from [表名] order by ID desc ) a,
(select top 1 [登记时间] as 该姓名上一次的登记时间,[登记内容] as 上一次的登记内容
from [表名] where ID<(select max(id) from [表名]) order by ID desc) b
with t as
(select a.id,a.姓名,a.登记时间,a.登记内容,
row_number() over(partition by a.姓名 order by a.id) 'rn'
from [表名] a
)
select b.id,b.姓名,b.登记时间,b.登记内容,
c.登记时间 '上一次的登记时间',
c.登记内容 '上一次的登记内容'
from t b
left join t c on b.rn=c.rn+1