开发者社区> 问答> 正文

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

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

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 2411 0
1 条回答
写回答
取消 提交回答
  • 目前从事大数据开发,兼顾平台搭建以及实时数据分析,主要是用scala编写程序,涉及社区开源hadoop集群,emr集群,欢迎有相同兴趣的小伙伴来交流,共同进步。最近在参与flink-java实时开发。

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

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

相关电子书

更多
云端设计,与时间赛跑 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载