假设以下内容:

您有一个“医生”表,其中包含以下列:

仅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

10-05 20:34
查看更多