2017-08-31 3 views
-1

Ich muss das Alter der Pferde, die gestorben sind und multiply by 3 berechnen, um ihre vergleichbaren menschlichen Jahre zu erhalten. Listen Sie ihre horse_id, name und human years, order by horse_id.MYSQL Berechnen und multiplizieren Alter

Ich bin ein Noob und kann einfach nicht verstehen, was ich tun muss, online suchen, das ist das nächste, was ich bekommen konnte, die Born und Died Spalten sind Termine, aber nur das Jahr.

Jede Hilfe wäre willkommen.

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

Können Sie uns auch einige Beispieleingabedaten zusammen mit dem erwarteten Ergebnis zeigen? –

+0

weiß nicht Ihre vollständige Tabellenstruktur, so SELECT Horse_id, Name, Geboren, Gestorben, (Gestorben - Geboren) * 3 AS 'Human Years' VON horsedb.horse ORDER BY Horse_id; – Balasubramanian

Antwort

0

Ihr Versuch sieht gut aus - welches Ergebnis erhalten Sie daraus? Hier ist, was ich versuchen würde:

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

Ich würde die Berechnung in Monaten tun. . . teile die Anzahl der Monate mit 4. Hier ist eine Methode:

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;