我想从查询中获取前6个月的数据。如何在SQL中只获取特定月份的数据
即我必须只分组前六个月。
假设当前月份是六月话,我只希望一月份的数据&也是我不希望所有其他的前一个月比
月谁能帮助我这个
SELECT
so_date
FROM
RS_Sells_Invoice_Info_Master SIIM
LEFT OUTER JOIN
RS_Sell_Order_Master AS SM ON SM.sell_order_no = SIIM.sell_order_no
LEFT OUTER JOIN
RS_Sell_Order_Mapping AS SOM ON SOM.sell_order_no = SIIM.sell_order_no AND SIIM.product_id = SOM.product_id
LEFT OUTER JOIN
RS_Inventory_Master AS IM ON IM.product_id = SIIM.product_id
where
so_date between CAST(DATEADD(month, DATEDIFF(month, 0, so_date)-5, 0)AS DATE) and CAST(DATEADD(month, DATEDIFF(month, 0, so_date)-4, 0)AS DATE)
“过去六个月”比较是不一样的“只希望一月份的数据”。你想要什么 - 从1月份开始的所有数据,** 1月份(仅1月份)的所有数据**,或者可能有多个解释的“前6个月”(当前日历月和前5个月,前6个日历月到当前日期,今天减去6个月到其他日期)。 – alroc
重复,至少[这个问题](http://stackoverflow.com/questions/1424999/get-the-records-of-last-month-in-sql-server),虽然没有任何现有的答案是理想的(现在添加更好的答案)。 –