开发者社区 问答 正文

如何在MySQL中任何指定月份之前获取所有记录

我想使用mysql选择任何指定月份之前的所有记录。这是我尝试的声明:

SELECT SUM(amount) as allPreviousAmount FROM fn_table WHERE MONTH(transdate) < 1 AND YEAR(transdate) = YEAR(CURRENT_DATE()) transdate是日期时间数据类型。

我有2018年12月的数据。但这没有选择数据。然后,我删除了Year部分,仍然没有选择任何数据。转换日期为2018-12-31 15:59:41。

请修复它,并解释为什么它不起作用。

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-15 13:55:30 465 分享 版权
1 条回答
写回答
取消 提交回答
  • 可以这样做(假设没有将来的日期):

    SELECT SUM(amount) as allPreviousAmount FROM fn_table WHERE MONTH(transdate) < ? OR YEAR(transdate) < YEAR(CURRENT_DATE()) 替换?为您想要结果的月份。

    2019-11-15 13:55:43
    赞同 展开评论