MySQL select 最近三个月的记录

标签 mysql

如果表有以下列,从 MySQL 表中选择过去 3 个月的所有行的最聪明的方法是什么:

| id (int) | year (int)| month (int) |

考虑到如果当前月份和年份是 2.2016,我需要选择 11.2015 & 12.2015 & 1.2016 的所有记录

如果当前月份大于 3 就很容易,因为我需要选择的所有月份都在同一年,所以我可以从当前月份减去 3 并运行简单查询

SELECT * FROM mytabe where year=2016 and month >= xx

最佳答案

Select * from mytable where STR_TO_DATE(concat(year,"-",month,"-01"),'%Y-%m-%d')>date_sub(curdate(),Interval 3 month) ;

上面的查询将从今天前 3 个月的日期获取年份和月份

关于MySQL select 最近三个月的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35173726/

相关文章:

c# - 从表中选择较大的 ID

MYSQL关于Hash索引类型的索引有时会被忽略

php - MySql 查询到数组到 MySql IN 查询

mysql - 如何:清理mysql InnoDB存储引擎?

php - 如何使用一张表的连接获取唯一行?

java - 尝试使用 apache commons-exec jar 打开 cmd 时出错

mysql - 除 "super"之外的所有权限

MySQL - 在一个字段中显示多行(具有内连接的表)q

mysql - 简单语句的 SQL 语法错误

mysql - 购物 list 项目数据类型