where子句中列为月份的mysql差异

where子句中列为月份的mysql差异,mysql,date,period,Mysql,Date,Period,我需要你的帮助。我自己试过,但解决不了 我有一个带有日期列(例如出生)的表,所以我需要选择过去一个多月内出生的所有行 我在谷歌上搜索,发现了一个非常类似的问题 但在这个新时期还没有一个条件。我的错误疑问是: select id,period_diff(date_format(now(), "%Y%m"), date_format(birth, "%Y%m")) as months from t1 where months>0 limit 10 请尝试以下内容: 使用having(别

我需要你的帮助。我自己试过,但解决不了

我有一个带有日期列(例如出生)的表,所以我需要选择过去一个多月内出生的所有行

我在谷歌上搜索,发现了一个非常类似的问题

但在这个新时期还没有一个条件。我的错误疑问是:

select id,period_diff(date_format(now(), "%Y%m"), date_format(birth, "%Y%m")) as months 
from t1
where months>0 
limit 10
请尝试以下内容:

使用
having
别名
months在
WHERE
子句中不起作用)

拥有
类似于
其中的
,但它能够处理计算的列(
别名
)<代码>具有
的功能是在查询的其余部分运行后修剪结果-它不能替代
WHERE
子句。

请尝试以下操作:

使用
having
别名
months在
WHERE
子句中不起作用)


拥有
类似于
其中的
,但它能够处理计算的列(
别名
)<代码>拥有
的工作原理是在查询的其余部分运行后修剪结果-它不能替代
WHERE
子句。

您不能在WHERE子句中使用
别名

SELECT id,
       period_diff(date_format(now(), "%Y%m"), date_format(birth, "%Y%m")) as months 
FROM   t1
WHERE period_diff(date_format(now(), "%Y%m"), date_format(birth, "%Y%m")) > 0 
LIMIT 10

不能在WHERE子句中使用
别名

SELECT id,
       period_diff(date_format(now(), "%Y%m"), date_format(birth, "%Y%m")) as months 
FROM   t1
WHERE period_diff(date_format(now(), "%Y%m"), date_format(birth, "%Y%m")) > 0 
LIMIT 10