gpt4 book ai didi

sql - SQL 是否自动计算每月的开始和结束日期?

转载 作者:行者123 更新时间:2023-12-01 12:35:47 25 4
gpt4 key购买 nike

我正在尝试获取 1 个月内销售的总销售额。例如,从 2015 年 4 月 1 日到 2015 年 4 月 30 日。

我得到的跨度是 3/30/15 - 4/30/15。

这是我的 SQL:

    SELECT  Customer.custno
, Customer.enteredDate AS 'Date Entered'
, COUNT(BasicPolInfo.polid) AS 'Number of Policies'
, SUM(COUNT(BasicPolInfo.polid)) OVER (ORDER BY Customer.custno ROWS
BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) AS TotalAmount
FROM Customer
INNER JOIN BasicPolInfo ON Customer.custid = BasicPolInfo.custid
WHERE BasicPolInfo.polid IS NOT NULL
AND Customer.firstname IS NOT NULL
AND Customer.enteredDate BETWEEN DATEADD(MONTH, -1, GETDATE()) AND
DATEADD(MONTH, 0, GETDATE())
GROUP BY Customer.custno
, Customer.firstname
, Customer.lastname
, Customer.entereddate
ORDER BY Customer.enteredDate ASC

我得到的结果是从 2015-04-30 到 2015-03-30 的日期。我正在尝试将 2015-04-30 改为 2015-04-01。

下个月也是从 2015-05-31 到 2015-05-01

任何帮助将不胜感激!谢谢!

最佳答案

因为你在 2012 年,你可以使用 EOMONTH()

WHERE Customer.enteredDate >= DATEADD(DAY, 1, EOMONTH(GETDATE(), -1)) 
AND < DATEADD(DAY, 1, EOMONTH(GETDATE()))

或者您可以只匹配月份和年份。

where month(Customer.enteredDate) = month(getDate()) 
and year(Customer.enteredDate) = year(getDate())

关于sql - SQL 是否自动计算每月的开始和结束日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29975893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com