如何查询周循环销售

b0424111 2016-09-18 09:19:53


店里上班,分A,B班
A班第一天早上,第二天下午
B班第一天晚上,第二天早上
我现在知道用
select
--(SELECT SUM(销售金额) FROM test WHERE (DATEPART(HH, 时间) = 07) and (DATEPART(DD, 时间) = 10))
--+
--(SELECT SUM(销售金额) FROM test WHERE (DATEPART(HH, 时间) = 07) and (DATEPART(DD, 时间) = 10))
可以把A,B班的分别统计,这样算的话,日销售,和月销售好算

但是店长要,算周销售,这个咋算啊?
我想用select getdate(),这样作为时间起点,不知道可不可以,比如今天是星期天的话,就用select getdate()得到数字7,,今天就统计前7天累加的结果,到明天的话就是星期一,周销售就只统计一天的结果,要是到星期二的话,就统计两天的求和结果
...全文
80 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
b0424111 2016-09-18
  • 打赏
  • 举报
回复



谢谢版主了,出来结果了
中国风 2016-09-18
  • 打赏
  • 举报
回复
注意你的两个语句条件相同,注意跨天的计算 如周日的晚上~下周一的早上的判断
DECLARE @EDate DATETIME=GETDATE()
,@SDate DATETIME

SELECT @SDate=CONVERT(DATE,@EDate),@SDate=DATEADD(Day,1-(DATEPART(Weekday,@SDate)+@@DATEFIRST-2)%7-1,@SDate)

--查看生成时间范围
SELECT @SDate,@EDate


select 
(SELECT SUM(销售金额)    FROM    test    WHERE    (DATEPART(HH, 时间) = 07)    and    (DATEPART(DD, 时间) = 10) AND 时间 BETWEEN @SDate AND @EDate)
+ 
(SELECT SUM(销售金额)    FROM    test    WHERE    (DATEPART(HH, 时间) = 07)    and   (DATEPART(DD, 时间) = 10) AND 时间 BETWEEN @SDate AND @EDate)

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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