Mysql 检索去年同月的订单

标签 mysql sql date

我有一个表订单,我想请求检索从去年月份到现在同月的所有订单。示例:现在是11月,我想恢复2017年11月的所有订单。

我尝试了类似的方法,但它不起作用:

    SELECT COUNT(*)
   FROM ps_orders o
   WHERE YEAR(o.date_add) = YEAR(NOW() - INTERVAL 1 YEAR)
   AND MONTH(o.date_add) = MONTH(NOW() - INTERVAL 1 MONTH)

感谢您的帮助

最佳答案

您不需要减去月份。应该是MONTH(NOW())才能获得上一年同月的结果。

SELECT COUNT(*)
FROM ps_orders o
WHERE YEAR(o.date_add) = YEAR(NOW() - INTERVAL 1 YEAR)
  AND MONTH(o.date_add) = MONTH(NOW()) -- same as current month

关于Mysql 检索去年同月的订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53535474/

相关文章:

mysql - 从列中提取字母和数字部分

c# - 如何从 c# 中的 dob 计算年龄(以年为单位)

php - Laravel Eloquent - 日期属性未作为 Carbon 对象检索

php - 将xml数据转换为php数组

PHP在php中动态生成一个mysql where子句

mysql - 支持关键字搜索的数据库模式或框架

php - 使用 mysql 获取正在进行的月份的下个月记录

PHP/MySQL 查询在一个循环中,如何追加到一个查询?

sql - 如何在 Postgres 中加入 jsonb 数组元素?

mysql - 如何在select语句中选择列名