Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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 - Fatal编程技术网

Mysql 如何进行查询(限制在两个年龄段之间-存储为日期)

Mysql 如何进行查询(限制在两个年龄段之间-存储为日期),mysql,Mysql,我有一个存储用户的表。 我想要一个查询来找到25岁到31岁之间的用户。 年龄作为日期存储在mysql表中(它存储生日)。 (例如:1980-02-25(yyyy-mm-dd)) 如何编写查询,以便每次都能找到两个给定年龄段之间的人 谢谢。您可以在后端代码或MySQL中计算所需的日期范围。如果您选择MySQL,以下是查询结果: SELECT user.* FROM user WHERE birthdate >= DATE_SUB(NOW(), INTERVAL 31 YEAR) A

我有一个存储用户的表。 我想要一个查询来找到25岁到31岁之间的用户。 年龄作为日期存储在mysql表中(它存储生日)。 (例如:1980-02-25(yyyy-mm-dd))

如何编写查询,以便每次都能找到两个给定年龄段之间的人


谢谢。

您可以在后端代码或MySQL中计算所需的日期范围。如果您选择MySQL,以下是查询结果:

SELECT user.* FROM user
  WHERE birthdate >= DATE_SUB(NOW(), INTERVAL 31 YEAR) 
  AND birthdate <= DATE_SUB(NOW(), INTERVAL 25 YEAR)
从用户中选择用户。*
其中生日>=日期(现在(),间隔31年)

对于MySQL,birthdate还有一个略短的
BETWEEN
子句。我建议使用CURDATE()而不是NOW(),因为它没有时间组件

SELECT * FROM user
WHERE birthdate 
   BETWEEN 
   (CURDATE() - INTERVAL 31 YEAR) 
   AND 
   (CURDATE() - INTERVAL 25 YEAR)
注:包括在内