读书人

小弟新手求一查询方法,该怎么处理

发布时间: 2012-04-26 14:01:31 作者: rapoo

小弟新手求一查询方法
表tbjob id,userid,jontime
表tbuser id,name
求 根据时间desc 去重 userid

不知道意思表达的清楚不
select name from tbuser where id in(select userid from tbjob group by userid having count(userid)>1 order by jontime desc)

[解决办法]

SQL code
create table tbjob(id int, userid varchar(5), jontime datetime)insert into tbjobselect 1, '0001', '2012-1-1 00:12:02' union allselect 2, '0001', '2012-1-1 10:12:12' union allselect 3, '0002', '2012-1-1 11:12:12' union allselect 4, '0002', '2012-1-2 12:12:12' union allselect 5, '0003', '2012-3-4 01:12:12'with t as(select row_number() over(partition by userid order by jontime desc) rn,   id,userid,jontime from tbjob)select id,userid,jontimefrom twhere rn=1order by jontime descid          userid jontime----------- ------ -----------------------5           0003   2012-03-04 01:12:12.0004           0002   2012-01-02 12:12:12.0002           0001   2012-01-01 10:12:12.000(3 row(s) affected) 

读书人网 >SQL Server

热点推荐