这次项目中涉及到一个存储过程的应用,由于数据量是在百万条的级别,而且也有一点小难度的查询,所以选择不是很熟悉的存储过程,可能高手们看了会见笑的 。
我的表结构大体是这样的,TB_USER
ID NAME LENGTH DATE
1 aa 15 2006-10-21 12:23:11.000
2 aa 345 2006-10-22 21:01:11.000
3 bb 54 2006-10-21 54:23:11.000
4 bb 17 2006-10-21 13:01:11.000
5 cc 24 2006-10-21 43:01:11.000
6 aa 98 2006-10-21 43:01:11.000
要求是按照NAME累加LENGH,并且是以天来累加,并且将最早的时间作为DATE得到结果,就是说在上面的模拟数据中,查出的结果是2006-10-21这一天aa的LENGTH值应该是15+98=113,DATE为2006-10-21 12:23:11.000
我的存储过程代码是
CREATE
PROCEDURE
BILLINGPOC
AS
/*创建聚合日期参数*/
declare
@calDate
datetime
/*聚合日期以没有被聚合的最早结束时间为起点*/
SELECT
TOP
1
@calDate
=
DATE
FROM
TB_USER
WHERE
CAL_STATUS
=
'
0
'
AND
我的表结构大体是这样的,TB_USER
ID NAME LENGTH DATE
1 aa 15 2006-10-21 12:23:11.000
2 aa 345 2006-10-22 21:01:11.000
3 bb 54 2006-10-21 54:23:11.000
4 bb 17 2006-10-21 13:01:11.000
5 cc 24 2006-10-21 43:01:11.000
6 aa 98 2006-10-21 43:01:11.000
要求是按照NAME累加LENGH,并且是以天来累加,并且将最早的时间作为DATE得到结果,就是说在上面的模拟数据中,查出的结果是2006-10-21这一天aa的LENGTH值应该是15+98=113,DATE为2006-10-21 12:23:11.000
我的存储过程代码是
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)