Php My Sql查询以获取所选月份和年份的所有以前记录

Php My Sql查询以获取所选月份和年份的所有以前记录,php,mysql,codeigniter,codeigniter-3,codeigniter-query-builder,Php,Mysql,Codeigniter,Codeigniter 3,Codeigniter Query Builder,我想从mysql表中获取所选月份和年份的所有以前的记录。 e、 g如果我选择的月份和年份是2018年8月,则查询应显示从2018年8月开始的所有以前的记录 我尝试了以下mysql查询: “选择*表格TBluser,其中年份(创建日期)尝试以下操作: select * form tblusers where month(created_date)<8 and year(created_date)<=2018 选择*form tblusers,其中月份(创建日期)尝试以下操作: se

我想从mysql表中获取所选月份和年份的所有以前的记录。 e、 g如果我选择的月份和年份是2018年8月,则查询应显示从2018年8月开始的所有以前的记录

我尝试了以下mysql查询:

“选择*表格TBluser,其中年份(创建日期)尝试以下操作:

select * form tblusers where  month(created_date)<8 and year(created_date)<=2018
选择*form tblusers,其中月份(创建日期)尝试以下操作:

select * form tblusers where  month(created_date)<8 and year(created_date)<=2018

select*form tblusers where month(created_date)
select*FROM tblusers where YEAR(created_date)
select*FROM tblusers where YEAR(created_date)我更喜欢创建复合值

select * from tblusers where 
(year(created_date) * 12 +  month(created_date))
<= 2018 * 12 + 8;
从tblusers中选择*,其中
(年(创建日期)*12个月以上(创建日期))

我更喜欢创建复合值

select * from tblusers where 
(year(created_date) * 12 +  month(created_date))
<= 2018 * 12 + 8;
从tblusers中选择*,其中
(年(创建日期)*12个月以上(创建日期))

您可以尝试更简单的方法:

获取记录的创建日期小于所选月份和年份的第一个日期

如果
created\u date
字段的类型为
date
,则可以尝试以下操作:

"select * form tblusers where created_date < '2018-08-01'"
"select * form tblusers where created_date < '2018-08-01 00:00:00'"

您可以尝试更简单的方法:

获取记录的创建日期小于所选月份和年份的第一个日期

如果
created\u date
字段的类型为
date
,则可以尝试以下操作:

"select * form tblusers where created_date < '2018-08-01'"
"select * form tblusers where created_date < '2018-08-01 00:00:00'"

希望这对您有所帮助:

像这样使用CI查询生成器类:


更多信息:

希望这对您有所帮助:

像这样使用CI查询生成器类:


更多信息:

以上两个查询都将返回相同的结果created\u date为date或datetime。MySQL将对正确的数据类型进行隐式转换。是的,这是迄今为止最简单的方法。上述两个查询都将返回相同的结果created\u date为date或datetime。MySQL将对正确的数据类型进行隐式转换。是的,这是最简单的方法这是目前为止最简单的方法。先生,如果我的答案对您有帮助,请不要犹豫,检查为绿色,并进行投票。如果我的答案对您有帮助,请不要犹豫,检查为绿色,并进行投票