2017-08-31 50 views
-1

我必须计算死亡的马的年龄,并且multiply by 3以获得他们可比的人类年。列出他们的horse_id,名称和human years,订购horse_idMYSQL计算并乘以年龄

我是一个noob,只是不明白我需要做什么,在网上看这是我能得到的最接近的,Born和Died列是日期,但只有一年。

任何帮助,将不胜感激。

SELECT Horse_id, name, Born, Died, 
TIMESTAMPDIFF(YEAR, Died, Born)*3 AS 'Human Years' 
FROM horsedb.horse 
ORDER BY Horse_id; 
+0

您还可以向我们展示一些样本输入数据以及预期结果吗? –

+0

不知道你的全表结构,所以 SELECT Horse_id,name,Born,Died, (死 - 生)* 3 AS'Human Years' FROM horsedb.horse ORDER BY Horse_id; – Balasubramanian

回答

0

您的尝试看起来不错 - 您从中得到了什么结果?这里是我想尝试的:

SELECT Horse_id, name, Born, Died, 
     (YEAR(Died) - YEAR(Born)) * 3 AS 'Human Years' 
FROM horsedb.horse 
ORDER BY Horse_id; 
0

我会做几个月的计算。 。 。将月数除以4.以下是一种方法:

SELECT Horse_id, name, Born, Died, 
     FLOOR((YEAR(Died)*12 + MONTH(Died)) - (YEAR(Born)*12 + Month(Born))/4) as HumanYears 
FROM horsedb.horse 
ORDER BY Horse_id;