有两种表A,B 分别记录用户的订购及退订信息:
A: aphonenum (varchar(100)),aupload(datetime)
B: bphonenum (varchar(100)),bupload(datetime),del(datetime)
A 表列分别表示:号码,开通时间,B表 只比A多个 退订时间 del
现在要求:查出13年1-11月每月的累计用户和。例如 查询 一月的和 即:
select(select count(*) from A where aupload<'2013-2-1')
+
(select count(*) from B where bupload<'2013-2-1' and del>='2013-2-1')
得出 一月的总数,2月以此类推,时间2013-2-1 变成 2013-3-1即可,最后要求的数值 就是1月查出来的加上2月的,以此类推到需要查到的月份,
现在 想可不可以 一次性查出结果,或者对应每月的数量列举出来,一个月一个月的查 速度太慢,哪位大神能指导下,万分感谢!
给你个参考哈 之前用到过的。使用了表值函数,表值函数如下:
-- =============================================这个表值函数的作用是:根据日期范围按月为单位 生成月份数据 如 传入的日期范围是 2013-01-01----2013-11-30 那么
SELECT CONVERT(NVARCHAR(7), GeneratedDate, 21) AS Da得到的结果是
下面是查询A表中的你可以参考一下:
SELECT A.Date ,