日期:2014-05-17  浏览次数:20524 次

MSSQL查询(高手进来帮帮忙)
有一批号码(号码可以重复),每个号码有一个时间。想建个视图什么的,生成多一列出来,新的这列保存次数(即如果一个号码,有多少个和它相同的号码,并且时间比它早,即它的次数为相同的号码数量加1),如下图所示。


------解决方案--------------------
SQL code
select *,row_number() over(partition by 号码 order by 时间 asc) as 次数
from TB

------解决方案--------------------
方法2,
SQL code

select a.*,
       (select count(1) from [表名] b
        where b.号码=a.号码 and b.时间<=a.时间) '次数'
from [表名] a