我正试图用时间戳和其他表的内部连接来找到埃克塞特号上最年轻的线员。我的代码在第二行出现了一个错误,这可能是timestamp命令,但我以前从未使用过,所以我有点盲目。
这是我特别想要得到的:假设今天是2328年3月1日。埃克塞特号上最年轻的线员是谁?您可以使用一个有序的列表作为您的答案,但每个船员(或简单地说,最老的船员)的年龄应显示为年。
SELECT lastname, firstname, birthday
TIMESTAMPDIFF(YEAR,'2328-03-01') AS age
FROM crewmember
INNER JOIN vessel
ON crewmember.currentshipcallsign=vessel.callsign
INNER JOIN rank
ON crewmember.rankcode=rank.rankcode
WHERE vessel.name='USS Exeter' AND rank.rankcategory='Line Officer';
最佳答案
TIMESTAMPDIFF返回两个日期列之间的差异。
你只有一个价值
TIMESTAMPDIFF(YEAR,'2328-03-01') AS age
尝试添加第二个日期,例如:
TIMESTAMPDIFF(MONTH,'2009-05-18','2009-07-29');
关于mysql - 试图找到一艘MYSQL船上最年轻的直属人员的年龄,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35645978/