日期:2014-05-18 浏览次数:20597 次
ID UserID AddTime SortID Status 1 1 2012-4-1 0:00:00 2 1 2 1 2012-4-1 0:00:00 1 2 3 1 2012-4-1 0:00:00 4 3 4 1 2012-4-2 0:00:00 5 3 5 1 2012-4-3 0:00:00 6 2 6 1 2012-4-3 0:00:00 1 1 7 1 2012-4-5 0:00:00 2 1 8 1 2012-4-5 0:00:00 3 2 9 1 2012-4-6 0:00:00 4 3 10 2 2012-4-1 0:00:00 2 1 ...
SortID SortName 1 营销1组 2 营销2组 3 营销3组 4 营销4组 5 营销5组 6 营销6组 ...
类别名称 总计数据数量 正常数据数量 审核中数据数量 过期数据数量 营销1组 2 1 1 0 营销2组 2 2 0 0 营销3组 1 0 1 0 营销4组 2 0 0 2 营销5组 1 0 0 1 营销6组 1 0 1 0
--> 测试数据:[tbl] if object_id('[tbl]') is not null drop table [tbl] create table [tbl]([ID] int,[UserID] int,[AddTime] datetime,[SortID] int,[Status] int) insert [tbl] select 1,1,'2012-4-1 0:00:00',2,1 union all select 2,1,'2012-4-1 0:00:00',1,2 union all select 3,1,'2012-4-1 0:00:00',4,3 union all select 4,1,'2012-4-2 0:00:00',5,3 union all select 5,1,'2012-4-3 0:00:00',6,2 union all select 6,1,'2012-4-3 0:00:00',1,1 union all select 7,1,'2012-4-5 0:00:00',2,1 union all select 8,1,'2012-4-5 0:00:00',3,2 union all select 9,1,'2012-4-6 0:00:00',4,3 union all select 10,2,'2012-4-1 0:00:00',2,1 --> 测试数据:[tt] if object_id('[tt]') is not null drop table [tt] create table [tt]([SortID] int,[SortName] varchar(7)) insert [tt] select 1,'营销1组' union all select 2,'营销2组' union all select 3,'营销3组' union all select 4,'营销4组' union all select 5,'营销5组' union all select 6,'营销6组' go if OBJECT_ID('pro_tracy')is not null drop proc pro_tracy go create proc pro_tracy @UserID int as create table #tbl( [SortName] varchar(20), [UserID] int, [Status] int ) insert #tbl select b.SortName,a.UserID,a.[Status] from tbl a full join tt b on a.SortID=b.SortID where UserID=@UserID and [AddTime] between '2012-1-1' and '2012-4-30' select SortName as 类别名称 ,COUNT(*) as 总计数据数量, SUM(case when [Status]=1 then 1 else 0 end) as 正常数据数量, SUM(case when [Status]=2 then 1 else 0 end) as 审核中数据数量, SUM(case when [Status]=3 then 1 else 0 end) as 过期数据数量 from #tbl group by SortName exec pro_tracy 1 /* 类别名称 总计数据数量 正常数据数量 审核中数据数量 过期数据数量 营销1组 2 1 1 0 营销2组 2 2 0 0 营销3组 1 0 1 0 营销4组 2 0 0 2 营销5组 1 0 0 1 营销6组 1 0 1 0 */