首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求脚本大神,批改group by的脚本

2014-01-17 
求脚本大神,修改group by的脚本select a.rid as rid,u.username as username,a.rcontent as rcontent,a.rt

求脚本大神,修改group by的脚本
select a.rid as rid,u.username as username,a.rcontent as rcontent,a.rtime as rtime,d.dname as dname
from reports a 
left join users u on (a.raid = u.userid) 
left join dept d on (u.userdeptid = d.ddid) 
where 
(select count(*) from reports 
where raid = a.raid and rtime > a.rtime ) < 3 
and a.ravailable=1 
order by a.rid,a.raid;

求脚本大神,批改group by的脚本
如图,有三张表联查,要根据username分组,查询出每个用户下按照时间排序,最新的三条记录。这个是不带参数的,而且没排序,要修改成带一个时间参数的脚本,需求为:当前时间下每个用户最新的三条记录。

[解决办法]


select * from (select row_number() over (partition by u.username order by a.rtime )ronum,
 a.rid as rid,u.username as username,a.rcontent as rcontent,a.rtime as rtime,d.dname as dname
from reports a 
left join users u on (a.raid = u.userid) 
left join dept d on (u.userdeptid = d.ddid) ) a where ronum<=3

热点排行