我使用的查询需要从年龄介于(多个年龄段)之间的用户中选择行
就像我在表用户中有3个用户,有3个字段:
身份证|姓名|出生日期
1980年6月12日
1970年6月12日
3 | C | 1990年6月12日
1995年6月12日
1985年6月12日
如果我想要25岁以下的用户列表
姓名|出生日期
1990年6月12日
1995年6月12日
你有什么疑问吗?

SELECT * FROM users WHERE DOB

?
有什么主意吗

最佳答案

试试这个:

SELECT * FROM users WHERE DATEDIFF(CURDATE(), DOB)/365<25

以年计算年龄:
SELECT
FLOOR(tempUsers.t/365) as `years`
tempUsers.t%365 as `months`
from
(
 SELECT DATEDIFF(CURDATE(), DOB) t FROM users
) tempUsers

10-05 20:37
查看更多