1

私は戻って、過去 4 か月間のカウントを取得しようとしています。これは私がこれまでに持っているものの例です:

SELECT datecolumn, Count(datacolumnA) AS CountOfdatacolumnA, datacolumnB

FROM tableA

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

私の結果は、過去 4 か月と現在の月 (この場合は 10 月) を示しています。問題は、6 月が 1 か月全体の正しいカウントを表示していないことです。私はその月の部分的なカウントしか得ていません。

4

1 に答える 1

1

月の初めに調整する必要があります。これを行うには、月の日を引いて月の '0 日' を取得し、次に 1 を追加して最初の月を取得します。(teradata の日付は、int 部分がエポックからの日数である 10 進数だと思います)

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 に答える