Mysql 选择计数平均年龄,使用介于()之间的月份

Mysql 选择计数平均年龄,使用介于()之间的月份,mysql,sql,Mysql,Sql,比如说。我的餐桌服务员 //EMPLOYEE E# NAME DOB ---------------------------- 1 JOHN 13-10-1965 2 SITI 20-02-1968 3 ALI 31-03-1977 所以我的问题是计算每个人的年龄,然后加起来,然后除以雇员人数,计算雇员的平均年龄 我目前的发言 SELECT DOB from employee where .. // DIVIDE

比如说。我的餐桌服务员

//EMPLOYEE
E#      NAME      DOB
----------------------------
1       JOHN     13-10-1965
2       SITI     20-02-1968
3       ALI      31-03-1977
所以我的问题是计算每个人的年龄,然后加起来,然后除以雇员人数,计算雇员的平均年龄

我目前的发言

SELECT DOB from employee where ..
// DIVIDE COUNT(*) FROM EMPLOYEE 
试试这个:

select sum(age)/count(*) as AVG from (SELECT Name,YEAR(CURRENT_TIMESTAMP) - YEAR(dob) - (RIGHT(CURRENT_TIMESTAMP, 5) < RIGHT(dob, 5)) as age 
  FROM EMPLOYEE )t
你可以随心所欲

SELECT 
avg(age) as  average_dob
from
(
  select
  TIMESTAMPDIFF(YEAR,DOB,NOW()) AS age 
  from 
  Employee
)t;

为什么要使用months_-between和where子句?因为我不知道该怎么做。从Employee选择avgdatediffcurdate,dob/365您确定要使用MySQL吗?月与月之间是一个Oracle函数。我完成了我的问题d。谢谢你!在SQLFIDLE中加载数据,以便我可以测试并能够为您提供运行时没有任何错误的查询不知道为什么在显示日期类型时有一些错误输入TimeStaff对meno无效标识符不应该是表中的日期格式?