开发者社区> 问答> 正文

怎么计算上个月的第一天和最后一天之间的数据?

我想计算具有固定范围的特定列,但我找不到正确的方法。

DECLARE @FirstDayOfLastMonth DATETIME = dateadd(month, - 1, format(getutcdate(), 'yyyy-MM-01'))
DECLARE @LastDayOfLastMonth DATETIME = EOMONTH(@FirstDayOfLastMonth)

--SELECT SUM(Debit)FROM vGLTransaction_Detail WHERE DatePosted > @FirstDayOfLastMonth AND DatePosted < @LastDayOfLastMonth GROUP BY AcctCode
----This works alone and this is my desired output SELECT AcctCode
,(
SELECT SUM(Debit)
FROM vGLTransaction_Detail
WHERE DatePosted > @FirstDayOfLastMonth
AND DatePosted < @LastDayOfLastMonth
GROUP BY AcctCode
) [Beginning] --i want something like this
,SUM(Debit) [Debit]
,SUM(Credit) [Credit]
,SUM(Credit) [Ending]
FROM dbo.vGLTransaction_Detail
GROUP BY AcctCode

展开
收起
问问小秘 2020-01-09 15:35:27 2400 0
1 条回答
写回答
取消 提交回答
  • 目前从事大数据开发,兼顾平台搭建以及实时数据分析,主要是用scala编写程序,涉及社区开源hadoop集群,emr集群,欢迎有相同兴趣的小伙伴来交流,共同进步。最近在参与flink-java实时开发。

    具体计算逻辑是你自己的,范围筛选用条件语句,条件就是时间

    2020-01-10 16:19:22
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
云端设计,与时间赛跑 立即下载
增长的真相暨金数据新产品发布 立即下载
[罗兰贝格]详解大变局时代消费者高速增长逻辑:存量博弈,步步为赢 立即下载