小弟新手求一查询方法
表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)