次のクエリがあります。
SELECT COUNT(id) FROM users WHERE
DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(), birthday)), "%Y") >17 AND
DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(), birthday)), "%Y") <22
これは、18 から 21 の間の人数を返すことになっていますが、そうです。問題は、同じ関数セットを 2 回実行する方法が気に入らないことです。どうすればそれを回避できますか?