假设以下内容:
您有一个“医生”表,其中包含以下列:
仅FName,LName,Address和DateOfBirth。
在MySQL脚本中,执行以下操作,以显示输出:
1990-06-30之后出生的所有医生的全名,地址和现年龄(四舍五入到小数点后0位)。
我发布此消息的原因是,我正在为医生办公室创建UI,并且需要将此显示作为输出之一。我被困在如何嵌套当前年龄的子查询,以及如何仅列出在特定日期之后出生的人。有人可以帮忙吗?
SELECT CONCAT(FName, ' ', LName) AS Student, Address,
TIMESTAMPDIFF(YEAR, DateOfBirth, CURRENT_DATE) AS Present_Age
FROM Student
WHERE DateOfBirth > (
SELECT DateOfBirth FROM Student
WHERE LName='Wiggins' AND FName='Jeanie')
ORDER BY Present_Age DESC;
最佳答案
我不明白为什么您需要为此的子查询或联接。
SELECT CONCAT(FName, ' ', LName) AS FullName, Address,
TIMESTAMPDIFF(YEAR, DateOfBirth, CURRENT_DATE) AS age
FROM Doctors
WHERE DateOfBirth > '1990-06-30';
有关更多信息,请参见MySQL手册中的Date Calculations。