2016-02-26 62 views
2

我試圖從船上的埃克塞特使用時間戳和內部聯接從其他表中找到最年輕的船長。我在第二行的代碼中遇到了一個錯誤,這將是timestamp命令,但我以前從未使用過,所以我會盲目。試圖找到船上最年輕的線路管理員的年齡MYSQL

下面是我特別想要得到的結果:假設今天是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'; 
+0

看看你TIMESTAMPDIFF語法,這就是有錯誤。添加單位參數。更多信息http://coderlearner.com/Mysql_TIMESTAMPDIFF –

+0

你需要知道他們的年齡?或者誰最年輕? – Strawberry

+0

是的,我需要知道年齡顯示的年齡。 – Drl93

回答

0

TIMESTAMPDIFF返回兩個日期列之間的差異。

你只有一個值

TIMESTAMPDIFF(YEAR,'2328-03-01') AS age 

嘗試添加第二個日期如:

TIMESTAMPDIFF(MONTH,'2009-05-18','2009-07-29');