[英]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.