首页 > 解决方案 > 有什么方法可以在 SQL 中显示每月的日期总计

问题描述

有什么方法可以在 SQL 中执行此操作,因为现在我必须使用 union all 30 次来运行相同的查询 30 次,这需要大量的执行时间。如果可能的话,这将是巨大的帮助。

示例:给定月份的每一天的项目数量总和

7 月 1 日-我想要从交易开始之日起的总物品数量,7 月 2 日-我想要从交易开始之日起的总物品数量 + 7 月 1 日的数量,7 月 3 日 - 从交易开始之日起的物品总数量 + 7 月 1 日的数量+ 2 nd 七月数量 提前致谢

Declare @DateTo DateTime
Set @DateTo='2018-07-19'

Select @DateTo DateTo, [Item No_], sum(Quantity) from 
[Snowman Logistics Limited$Item Ledger Entry] 
where [Posting Date]<=@DateTo and [Item No_]='H1023038'
Group by [Item No_]

union all
Select @DateTo+1 DateTo, [Item No_], sum(Quantity) from 
[Snowman Logistics Limited$Item Ledger Entry] 
where [Posting Date]<=@DateTo+1 and [Item No_]='H1023038'
Group by [Item No_]

union all
Select @DateTo+2 DateTo, [Item No_], sum(Quantity) from 
[Snowman Logistics Limited$Item Ledger Entry] 
where [Posting Date]<=@DateTo+2 and [Item No_]='H1023038'
Group by [Item No_]

结果如下

DateTo                  Item No_               (Quantity)
2018-07-19 00:00:00.000 H1023038    0.00000000000000000000
2018-07-20 00:00:00.000 H1023038    20100.00000000000000000000
2018-07-21 00:00:00.000 H1023038    12500.00000000000000000000

标签: sqlsql-serversql-server-2008sql-server-2016

解决方案


推荐阅读