34,593
社区成员
发帖
与我相关
我的任务
分享
WITH newSql AS
(
select IndirectObject,count(UPID) as UpidNum,COUNT(DISTINCT URID) as dUpidNum from GC_User_Report_2011_0901_1001
where (IndirectObject='6900572040302'
OR IndirectObject='6900572061093'
OR IndirectObject='6901070180170') and Datetime<='2011-9-30'
UNION ALL
select IndirectObject,count(UPID) as UpidNum ,COUNT(DISTINCT URID) as dUpidNum from GC_User_Report_2011_1001_1101
where (IndirectObject='6900572040302'
OR IndirectObject='6900572061093'
OR IndirectObject='6901070180170') and Datetime<='2011-10-31'
)
SELECT IndirectObject,sum(UpidNum),sum(dUpidNum) FROM newSql GROUP BY IndirectObject
select IndirectObject,sum(c1),sum(c2) from
(
--把你写的查询作为子查询放在括号里然后再分组统计
select IndirectObject,c1=count(UPID),c2=COUNT(DISTINCT URID) from GC_User_Report_2011_0901_1001
where (IndirectObject='6900572040302'
OR IndirectObject='6900572061093'
OR IndirectObject='6901070180170') and Datetime<='2011-9-30' GROUP BY IndirectObject
UNION ALL
select IndirectObject,count(UPID),COUNT(DISTINCT URID) from GC_User_Report_2011_1001_1101
where (IndirectObject='6900572040302'
OR IndirectObject='6900572061093'
OR IndirectObject='6901070180170') and Datetime<='2011-10-31' GROUP BY IndirectObject
) t group by IndirectObject
SELECT
IndirectObject,
count(UPID) AS UPID,COUNT(DISTINCT URID) AS URID
FROM
(
select IndirectObject,UPID, URID from GC_User_Report_2011_0901_1001
where (IndirectObject='6900572040302'
OR IndirectObject='6900572061093'
OR IndirectObject='6901070180170') and Datetime<='2011-9-30'
UNION ALL
select IndirectObject,UPID, URID from GC_User_Report_2011_1001_1101
where (IndirectObject='6900572040302'
OR IndirectObject='6900572061093'
OR IndirectObject='6901070180170') and Datetime<='2011-10-31'
)t
GROUP BY IndirectObject
select IndirectObject,sum(UPID),sum(URID)
(
select IndirectObject,count(UPID) as UPID,COUNT(DISTINCT URID) as URID from GC_User_Report_2011_0901_1001
where (IndirectObject='6900572040302'
OR IndirectObject='6900572061093'
OR IndirectObject='6901070180170') and Datetime<='2011-9-30' GROUP BY IndirectObject
UNION ALL
select IndirectObject,count(UPID),COUNT(DISTINCT URID) from GC_User_Report_2011_1001_1101
where (IndirectObject='6900572040302'
OR IndirectObject='6900572061093'
OR IndirectObject='6901070180170') and Datetime<='2011-10-31' GROUP BY IndirectObject
) t
group by IndirectObject
select IndirectObject,sum(UPID),sum(URID)
(
select IndirectObject,count(UPID),COUNT(DISTINCT URID) from GC_User_Report_2011_0901_1001
where (IndirectObject='6900572040302'
OR IndirectObject='6900572061093'
OR IndirectObject='6901070180170') and Datetime<='2011-9-30' GROUP BY IndirectObject
UNION ALL
select IndirectObject,count(UPID),COUNT(DISTINCT URID) from GC_User_Report_2011_1001_1101
where (IndirectObject='6900572040302'
OR IndirectObject='6900572061093'
OR IndirectObject='6901070180170') and Datetime<='2011-10-31' GROUP BY IndirectObject
) t
group by IndirectObject
;with f as
(
select IndirectObject,count(UPID) as CUPID ,COUNT(DISTINCT URID) as [count]from GC_User_Report_2011_0901_1001
where (IndirectObject='6900572040302'
OR IndirectObject='6900572061093'
OR IndirectObject='6901070180170') and Datetime<='2011-9-30' GROUP BY IndirectObject
UNION ALL
select IndirectObject,count(UPID),COUNT(DISTINCT URID) from GC_User_Report_2011_1001_1101
where (IndirectObject='6900572040302'
OR IndirectObject='6900572061093'
OR IndirectObject='6901070180170') and Datetime<='2011-10-31' GROUP BY IndirectObject
)
select IndirectObject,sum(CUPID) ,sum([count]) from f group by IndirectObject