如何选择最近3个月?

时间:2012-06-27 06:19:13

标签: sql-server select

我想得到最近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个月?

2 个答案:

答案 0 :(得分: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(不是一个很棒的列名称,BTW)和当前日期之间月份更改的次数。

答案 1 :(得分:1)

试试这个:

WHERE month([date]) between month(getdate()) -3 and month(getdate())