繁体   English   中英

如何从出生日期表中调用SQL以显示年龄?

[英]How to call SQL to show in age from the table of date of birth?

我想问一下如何从出生日期表中显示年龄的SQL?

我必须打电话给SQL以显示公司退休员工的平均年龄。

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

我的SQL语句:

Select AVG (age)
From Employee, Career
Where employee.employee_ID=Career.employee_ID
AND Career.Status =Retired

但我没有“年龄表”

您正确使用了AVG,您只需从那里计算每个人的年龄。 您可以在一个查询中完成所有操作(注释中提到了很多方法)。 这里的年龄数学改编自该问题的答案

SELECT AVG(DATEDIFF(yy, employee.Date_of_Birth, GetDate()) -
        CASE WHEN MONTH(GetDate()) < MONTH(employee.Date_of_Birth) THEN 1
             WHEN MONTH(GetDate()) > MONTH(employee.Date_of_Birth) THEN 0
             WHEN DAY(GetDate()) < DAY(employee.Date_of_Birth) THEN 1
             ELSE 0 END)
FROM Employee
   JOIN Career on employee.employee_ID = Career.employee_ID
      AND Career.Status = 'Retired'

(此处未指定原始问题,此处为SQL Server。如果有帮助,请保留它)

这个怎么样:

SELECT
    AVG(DateDiff("yyyy", employee.Date_of_Birth, Date()) + Int(Format(Date(), "mmdd") < Format(employee.Date_of_Birth, "mmdd")) as AverageAge
FROM Employee
JOIN Career on employee.employee_ID = Career.employee_ID
      AND Career.Status = "Retired"

这里被无耻地偷走了逻辑

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM