2

我想获得最近 3 个月的结果。这就是我到目前为止所创造的:

SELECT 
    year([date]) as tahun, 
    month([date]) as bulan, 
    [type] as tipe,
    SUM([net qty]) total_karton, 
    CAST(SUM([cm1 (rp)]) as decimal) as total_uang
FROM 
    tbl_weeklyflash_ID
GROUP BY 
    year([date]), 
    month([date]),
    [type]
ORDER BY 
    month([date]), [type]

但是该查询显示所有月份,如何仅获取最近的 3 个月?

4

2 回答 2

3

只需添加一个WHERE子句,例如:

WHERE
    DATEDIFF(month,[date],CURRENT_TIMESTAMP) between 0 and 2 --May have to adjust the end value on this

2将为您提供当前月份和前 2 个月。如果您想要 3个月的数据,您可能需要调整结束值。

DATEDIFF对于指定的日期部分,总是给出已发生的转换次数。所以在上面,它计算了月份在(不是一个很好的列名,顺便说一句)和当前日期之间变化的次数。date

于 2012-06-27T06:31:57.103 回答
1

试试这个:

WHERE month([date]) between month(getdate()) -3 and month(getdate())
于 2012-06-27T06:38:35.323 回答