我不确定如何计算我的联系人的平均年龄,他们都存在于一个带有出生日期字段(例如 YYYY-MM-DD)的 mysql 表中。
有没有办法处理 MySQL 调用(请注意我使用的是 cakephp,但这应该不是问题)
谢谢
最佳答案
您可以使用 DATEDIFF()
确定年龄:
DATEDIFF(TO_DAYS(NOW()), TO_DAYS(DOB))
平均值是在 MySQL 中使用 AVG()
找到的:
AVG(Column)
所以结合这些:
SELECT AVG(DATEDIFF(TO_DAYS(NOW()), TO_DAYS(DOB))) as `Average` FROM Contacts;
请注意,这会返回以天数而非年数为单位的平均年龄。要获得年份,您可以平均每个日期的年份部分:
SELECT AVG(DATEDIFF(YEAR(NOW()), YEAR(DOB))) as `Average` FROM Contacts;
或者按照@TimDearborn 的建议,将日平均值除以 365.242199。
关于mysql - DOB 字段的平均年龄 - MySQL/PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13372395/