被MySQL计算搞糊涂了

被MySQL计算搞糊涂了,mysql,Mysql,在DB课程的“使用结构化查询语言”模块中,我有一个问题需要回答,其中一个问题让我陷入了困境 问题是: 计算死亡马匹的年龄,并将其乘以3,得到与之相当的人类年龄。列出他们的马的id,名字和“人类年龄”。按马匹号码订购 以下是我一直试图实现这一目标的问题,但我得到的数字在人类时代是非常大的: SELECT horse_id, name, died * 3 AS 'human year' FROM horse ORDER BY horse_id; 以下是此查询中使用的horse表及

在DB课程的“使用结构化查询语言”模块中,我有一个问题需要回答,其中一个问题让我陷入了困境

问题是:

计算死亡马匹的年龄,并将其乘以3,得到与之相当的人类年龄。列出他们的马的id,名字和“人类年龄”。按马匹号码订购

以下是我一直试图实现这一目标的问题,但我得到的数字在人类时代是非常大的:

SELECT horse_id, name, died * 3
   AS 'human year'
   FROM horse
   ORDER BY horse_id;
以下是此查询中使用的horse表及其行:

马桌结构

+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| horse_id | int(2)      | NO   | PRI | NULL    |       |
| name     | varchar(20) | YES  |     | NULL    |       |
| colour   | varchar(20) | YES  |     | NULL    |       |
| sire     | int(4)      | YES  |     | NULL    |       |
| dam      | int(4)      | YES  |     | NULL    |       |
| born     | int(4)      | YES  |     | NULL    |       |
| died     | int(4)      | YES  |     | NULL    |       |
| gender   | varchar(1)  | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
我得到的结果如下:

+----------+--------------+------------+
| horse_id | name         | human year |
+----------+--------------+------------+
|      101 | Flash        |          0 |
|      102 | Star         |          0 |
|      201 | Boxer        |          0 |
|      301 | Daisy        |          0 |
|      401 | Snowy        |       5985 |
|      501 | Bluebell     |       5979 |
|      502 | Sally        |       5994 |
|     9998 | Unknown dam  |          0 |
|     9999 | Unknown sire |          0 |
+----------+--------------+------------+
我正在把我的头发从这一个,只是不能得到正确的输出,并认为有人在这里会有一些想法

提前谢谢,我希望我已经提供了相当数量的信息


斯图:)

我把5985分为3,得到了1995分。所以你的“死亡”领域是一年。你必须从本年度中减去它,然后乘以3。也许是这样的

SELECT horse_id, name, (YEAR(CURDATE()) - died) * 3 AS 'human year'
   FROM horse
   WHERE died > 0
   ORDER BY horse_id;

嗨,塔奈丁,这太完美了。非常感谢你这么做。我想我可能一直在关注这件事。你说的很直截了当。也许是喝杯咖啡的时间了哈哈。再次感谢:D