首页 新闻 会员 周边

一个很复杂的sql需求,求大侠帮忙了~

1
[待解决问题]

广告点击量走势数据从数据库读出来。

保存广告点击表的结构是

广告id   点击时间

需求是这样的,让客户随机选一个起始时间,然后选一个时间间隔,然后把这些分割的每个关键天的点击量读取出来,比如

2013-3-4  ~  2013-3-10  时间间隔用户选择2天,那么有这么几个关键点

2013-3-4,2013-3-6,2013-3-8,2013-3-10,这四个点的数据统计出来

比如第一天编号1,20个点击量,第二天2,40个点击量,等等,用sql怎么读取到datatable里面

小明同学的主页 小明同学 | 初学一级 | 园豆:12
提问于:2013-03-29 10:08
< >
分享
所有回答(2)
0

写个存储过程,不久好解决了吗?

虔城墨客 | 园豆:185 (初学一级) | 2013-03-29 10:13

能简单的介绍下思路么

支持(0) 反对(0) 小明同学 | 园豆:12 (初学一级) | 2013-03-29 10:15

@小明同学:

传入三个实参:起始时间,结束时间,间隔时间。

定义个一个当前时间变量。设置值为起始时间

循环判断当前时间是否大于结束时间,循环内部用当前时间加间隔时间进行自增,再分别查询和存储数据。

可以用拼接吧,最后返回一个数据。 (我也没用过数组返回的方法),如果可以用返回数组的方式那最好了。这只是一个思路,已经很明确了。

可以暂时先返回:7,10,30 当然这些是点击量。得到点击量后,你再到VS中写代码处理。

很久没写SQL 存储过程了。

支持(0) 反对(0) 虔城墨客 | 园豆:185 (初学一级) | 2013-03-29 10:43
0

1、程序中计算出 是那几个日期

比如:
2013-5-1 ~ 2013-5-10  间隔2天

那就是 2013-5-3、2013-5-5、2013-5-7、2013-5-9

2、sql语句

select *,(select count(*) from 表名 where 点击时间 in (程序中计算出的日期)) as 点击量
 from 表名 where 点击时间 in (程序中计算出的日期) group by 广告Id

LDreamer | 园豆:204 (菜鸟二级) | 2013-05-13 11:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册