【问题标题】:SQL: Selecting current month last yearSQL:选择去年的当前月份
【发布时间】:2015-09-28 03:56:30
【问题描述】:

我目前选择LAST年当前月份的数据。这适用于

SELECT cast(CREATED as date) AS DATE, COUNT([ID]) AS BOOKINGS, SUM([TOTCOST]) AS Sales
from BOOKING
WHERE
CREATED >= DATEADD(month, datediff(month, 0, getdate())-12, 0)
AND
CREATED < DATEADD(month, datediff(month, 0, getdate())-11, 0)
GROUP BY cast(CREATED as date)
ORDER BY cast(CREATED as date)

但是,我不想返回 7 月 1 日至 31 日,而是希望返回 2014 年 7 月 2 日至 2014 年 8 月 1 日(含)。因此,在当月有效地 +1 天。 这可能吗?

【问题讨论】:

    标签: sql sql-server-2008 date


    【解决方案1】:

    是的,只需将计算结果加 1。

    SELECT cast(CREATED as date) AS DATE, COUNT([ID]) AS BOOKINGS, SUM([TOTCOST]) AS Sales
    from BOOKING
    WHERE
    CREATED >= (DATEADD(month, datediff(month, 0, getdate())-12, 0) + 1)
    AND
    CREATED < (DATEADD(month, datediff(month, 0, getdate())-11, 0) + 1)
    GROUP BY cast(CREATED as date)
    ORDER BY cast(CREATED as date)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多