SQL查询中添加一个条件来过滤出上个月的数据,需要首先确定“上个月”对应的 period_code
值。假设当前月份是2024年4月,上个月(2024年3月)的 period_code
将是“202403”。当然,如果你希望这个查询能够自动适应每次执行时的当前日期,你将需要在SQL中动态生成这个日期。
这里有一个示例,它展示了如何修改你的SQL语句来加入这个条件。这个例子基于MySQL数据库;如果你使用的是其他数据库,可能需要稍作调整:
SELECT station_name, fraudulent_order_index
FROM epm_manage_fraudulent_order
WHERE county_code = '3340720'
AND deleted = 0
// 恶心的过滤条件
AND period_code = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y%m');
这条SQL语句做了以下几点:
-
DATE_SUB(CURDATE(), INTERVAL 1 MONTH)
:这个函数从当前日期(CURDATE()
)减去一个月。这意味着如果今天是2024年4月任意一天,它会返回2024年3月的相同日期。 -
DATE_FORMAT(..., '%Y%m')
:将上一步得到的日期格式化为YYYYMM
形式。例如,如果DATE_SUB
返回的日期是2024年3月15日,DATE_FORMAT
会将其转换为“202403”。