假设如下:
你有一个"医生"具有以下列的表:
仅限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;

答案 0 :(得分:2)
我不明白为什么你需要子查询或联接。
SELECT CONCAT(FName, ' ', LName) AS FullName, Address,
TIMESTAMPDIFF(YEAR, DateOfBirth, CURRENT_DATE) AS age
FROM Doctors
WHERE DateOfBirth > '1990-06-30';
有关详细信息,请参阅MySQL手册中的Date Calculations。
答案 1 :(得分:0)
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;