[英]MySQL WHERE Clause - Age Greater/Less than
I have the following SELECT that I can't get to work: 我有以下SELECT,我无法工作:
SELECT COUNT(userid) FROM login
WHERE 17 < YEAR(DATE_SUB(NOW(), INTERVAL TO_DAYS(profile_birthdate) DAY)
AND 46 > YEAR(DATE_SUB(NOW(), INTERVAL TO_DAYS(profile_birthdate) DAY);
The following works fine so I know the YEAR equation is sound: 以下工作正常,所以我知道YEAR方程是合理的:
SELECT YEAR(DATE_SUB(NOW(), INTERVAL TO_DAYS(profile_birthdate) DAY))
AS age FROM login;
Just wondering how to get the top one to work; 只是想知道如何让最好的人工作; also, is there a similar way then repeating the YEAR equation twice?
还有,有两种类似的方式重复YEAR方程吗?
thankyou 谢谢
It is just typo. 这只是错字。 You have missed close brackets.
你错过了括号。
SELECT COUNT(userid) FROM login
WHERE 17 < YEAR(DATE_SUB(NOW(), INTERVAL TO_DAYS(profile_birthdate) DAY))
AND 46 > YEAR(DATE_SUB(NOW(), INTERVAL TO_DAYS(profile_birthdate) DAY));
You can try BETWEEN in this Query and don't forget the the missing close ")" 您可以在此查询中尝试BETWEEN,并且不要忘记丢失的关闭“)”
SELECT COUNT(userid) FROM login
WHERE YEAR(DATE_SUB(NOW(), INTERVAL TO_DAYS(profile_birthdate) DAY)) BETWEEN 17 AND 46
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.