Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySql从表中选择月份和年份从该月份和年份到所有过去日期的所有记录_Mysql_Sql_Datetime_Where Clause - Fatal编程技术网

MySql从表中选择月份和年份从该月份和年份到所有过去日期的所有记录

MySql从表中选择月份和年份从该月份和年份到所有过去日期的所有记录,mysql,sql,datetime,where-clause,Mysql,Sql,Datetime,Where Clause,我有一个包含两个字段“月”和“年”的表。我如何进行查询,在经过一个月和一年之后,选择该月和该年的所有内容。 例如,如果查询中的月份和年份是9,年份是2020,如果表中的记录来自同一个月份和年份、前两个月或过去一年或更长时间,那么它们是否都会消失 谢谢大家一个选项使用算术: select * from mytable where year * 100 + month <= date_format(current_date, '%Y%m') 选择* 从mytable 其中年*100+月一个选

我有一个包含两个字段“月”和“年”的表。我如何进行查询,在经过一个月和一年之后,选择该月和该年的所有内容。 例如,如果查询中的月份和年份是9,年份是2020,如果表中的记录来自同一个月份和年份、前两个月或过去一年或更长时间,那么它们是否都会消失


谢谢大家

一个选项使用算术:

select *
from mytable
where year * 100 + month <= date_format(current_date, '%Y%m')
选择*
从mytable

其中年*100+月一个选项使用算术:

select *
from mytable
where year * 100 + month <= date_format(current_date, '%Y%m')
选择*
从mytable

式中,年*100+月-年和月的条件,其中表示为值​​传递到查询,如示例2020和9所示?@Robert:好的,那么只需将
年(当前日期)
替换为
2020
,将
月(当前日期)
替换为
9
。所以:
where year*100+month where myTable.pay=0和myTable.year*100+myTable.month对不起,你能给我解释一下这个逻辑是如何工作的吗,在其他日期上执行相同的过程,因此让我们比较数字而不是实际日期,这意味着在表示为值的情况下,没有本机方法可以实现相同的结果ear和month​​传递到查询,如示例2020和9所示?@Robert:好的,那么只需将
年(当前日期)
替换为
2020
,将
月(当前日期)
替换为
9
。所以:
where year*100+month where myTable.pay=0和myTable.year*100+myTable.month对不起,你能给我解释一下这个逻辑是如何工作的吗,在其他日期上执行相同的过程,所以让我们比较数字而不是实际日期,这意味着没有本地方法可以达到相同的结果