【发布时间】:2018-01-05 10:41:14
【问题描述】:
所以我有两个使用 MySql 的表; Owners 和 Cars,其中车主有生日,汽车有里程记录。表格看起来有点像这样:
Owners:
+-------+--------------+
| Field | Type |
+-------+--------------+
| id | varchar(10) |
| birth | datetime |
+-------+--------------+
Cars:
+--------------+-------------+
| Field | Type |
+--------------+-------------+
| licenceplate | varchar(6) |
| mileage | int(11) |
| owner | varchar(10) |
+--------------+-------------+
我想要一个 SQL 查询,它可以让我知道拥有最高里程汽车的司机是哪十年。我基本上想把某个十年出生的车主分组,计算出他们所拥有汽车的平均里程数,然后呈现平均里程最高的十年。我基本上想要这样的结果:
90后的车主最常开自己的车
我该怎么做?我用谷歌搜索和搜索,但甚至找不到如何选择十年。感谢任何帮助!
【问题讨论】:
-
你试过了吗?
-
@Melody 是的,但我似乎并不接近。尝试 select max(mileage) as top_mileage, left(birth([year] as varchar(4)), 3) + '0s' ascade from Owners group by left(birth([year] as varchar(4)), 3 ) 按 top_mileage desc 排序
-
Jesper 请用您评论中的额外细节更新您的问题。