Mysql 如何查找年龄介于一个范围之间的人员列表?

Mysql 如何查找年龄介于一个范围之间的人员列表?,mysql,Mysql,在这种情况下,我的出生日期存储在数据库中,例如1990/03/15。我想了解一些信息。年龄在20到30岁之间的记录。我应该如何编写此查询 我试过这个: 我使用此查询获取所有候选人的年龄: SELECT TIMESTAMPDIFF(YEAR,dob,CURDATE()) as age FROM `profile` 如何使用它来获取20岁到30岁之间所有候选人的名单?TheNOW()给出了当前日期。现在,为了让date比date年长20岁和30岁,我们可以执行以下操作: DATE_SUB(NOW(

在这种情况下,我的出生日期存储在数据库中,例如1990/03/15。我想了解一些信息。年龄在20到30岁之间的记录。我应该如何编写此查询

我试过这个: 我使用此查询获取所有候选人的年龄:

SELECT TIMESTAMPDIFF(YEAR,dob,CURDATE()) as age FROM `profile`
如何使用它来获取20岁到30岁之间所有候选人的名单?

The
NOW()
给出了当前日期。现在,为了让date比date年长20岁和30岁,我们可以执行以下操作:

DATE_SUB(NOW(), INTERVAL 20 YEAR)
AND 
DATE_SUB(date, INTERVAL 30 YEAR)
现在剩下的查询非常简单。 就是

SELECT * FROM Person 
WHERE dateOfBirth BETWEEN DATE_SUB(NOW(), INTERVAL 20 YEAR) 
                  AND DATE_SUB(date, INTERVAL 30 YEAR)

这很有效。。。从配置文件中选择*,其中dob介于日期添加(现在(),间隔-20年)和日期添加(现在(),间隔-30年)FYI之间。。日期20给出的日期比今天提前20年。我认为您需要交换头寸,以便最早的(-30)日期在
BETWEEN
语句中位于第一位。根据这个问题,它是: