我使用的查询需要从年龄介于(多个年龄段)之间的用户中选择行
就像我在表用户中有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