这样的sql怎么写,难!!

town_303 2008-01-04 03:06:01
第一周销售 第二周销售 第三周销售 … 第N周销售
品名 10 25 45


第一周销售10,第二周销售 15 ,第三周销售 25, 累计销售额。关键以周来统计 怎么做,比如查询10.1号 ----12月1号这段时间的销售数据,请高手指点!!!
...全文
152 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
leiguo1985 2008-01-07
  • 打赏
  • 举报
回复
SELECT DATEDIFF(dd,'2007-03-01','2007-03-24')/7 +1 from tab

之后做crosstab
leiguo1985 2008-01-07
  • 打赏
  • 举报
回复
我的那个适合你
ygwang 2008-01-07
  • 打赏
  • 举报
回复
要不然,单独根据统计报表临时生成一个新的字段,作为周统计列!
tdtxflsh 2008-01-07
  • 打赏
  • 举报
回复
还有你存入数据库的销售记录是日期还是什么?是否表里就有第几周这一列?
tdtxflsh 2008-01-07
  • 打赏
  • 举报
回复
问题就没有搞清楚,你的第一周,第二周,第三周指的是什么?是按自然月算还是按全年算?
ourola 2008-01-05
  • 打赏
  • 举报
回复
先写个函数判断起始的日期星期数.然后定义一个变量li_weekday,让它自加~ 如果大于7,则重新赋值为1.
if li_weekday>7 then li_weekday=1
else
li_weekday=li_weekday+1
//相关SQL语句
end if
Sunnyfreetan 2008-01-04
  • 打赏
  • 举报
回复
建议用存储过程写,搞个循环计算。
town_303 2008-01-04
  • 打赏
  • 举报
回复
潇洒老乌龟 的意思我明白,但我的意思是算:3月1号--3月8号;3月9号--3月16号;3月17号--3月24号;.。。。。。。请大家指点,谢谢了!!!!
leiguo1985 2008-01-04
  • 打赏
  • 举报
回复
高人,我不熟悉这个函数唉也写了一个比你那要麻烦
SELECT DATEDIFF(dd,DATEADD(wk, DATEDIFF(wk,0 ,getdate()),0)-1,'日期字段')/7 +1 周 from tab
dawugui 2008-01-04
  • 打赏
  • 举报
回复
sql server
使用
select datepart(week , 日期字段) 周, sum(val) from tb group by datepart(week , 日期字段)
leiguo1985 2008-01-04
  • 打赏
  • 举报
回复
弄一个这样的字段求出销售日期是这段日期的第几周,然后以这个字段做一个crosstab

754

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧