1

我正在尝试返回并检索过去 4 个完整月的计数。这是我到目前为止的一个例子:

SELECT datecolumn, Count(datacolumnA) AS CountOfdatacolumnA, datacolumnB

FROM tableA

WHERE datacolumnB='AA' AND datecolumn >= ADD_MONTHS(CURRENT_DATE, -4)

我的结果显示了过去四个月加上当前月份,在这种情况下是 10 月。问题是六月没有显示整个月的正确计数。我只得到了这个月的部分计数。

4

1 回答 1

1

您需要调整到月初。您可以通过减去一个月中的某一天来获得该月的“第 0 天”,然后加 1 来获得第一个。(我认为 teradata 中的日期是小数,int 部分是自一个纪元以来的天数)

Select
    datecolumn, 
    Count(datacolumnA) As CountOfdatacolumnA, 
    datacolumnB
From
    tableA
Where 
    datacolumnB='AA' And
    datecolumn >= 
        add_months(current_date, -4) 
        - extract(day from add_months(current_date, -4)) + 1
于 2013-10-17T23:15:30.580 回答