有这样一个需求.我需要查询一个员工薪资表最近几次的缴费记录
次数是动态设置的。
比如 我6 7 8 月 6月份和8月份缴费了 如果我设置是查看2次 那么看到的是6月份和8月份
如果是6月和9月 那么2次就是6月份和9月份 类推。
直接上demo:
create table mytable(id int identity(1,1),[month] int, [insertTime] datetime)
insert into mytable values(6 , '2013-6-2' )
insert into mytable values(6 , '2013-6-3' )
insert into mytable values(6 , '2013-6-4' )
insert into mytable values(6 , '2013-6-5' )
insert into mytable values(7 , '2013-7-5' )
insert into mytable values(7 , '2013-7-6' )
insert into mytable values(7 , '2013-7-7' )
insert into mytable values(8 , '2013-8-8' )
insert into mytable values(9 , '2013-9-9' )
go
语句:
select * from mytable a where id in(select top 2 id from mytable b where a.[month] =b.[month] order by insertTime desc )
结果
按照缴费时间倒叙,取top N。条件是已缴费。
表结构呢?。
题目说的不够清楚,也没有表结构啊
select top n xxx from tablename
where yyy='已缴费' 这样你想要几条n就了。