请求编写SQL语句查询每个(车辆、型号)对应的最高租赁价格
按车辆品牌、型号分组查询最高租赁价格的SQL实现
没问题,我来帮你搞定这个需求。首先得把租赁记录表(Table A)和车辆信息表(Table B)关联起来,这样才能把每个租赁价格对应到具体的品牌和型号,之后再按品牌+型号分组,计算每组的最高租赁价格。
注意事项
先提个小细节:Table A里的2255DFS和Table B里的2255FDS看起来是输入笔误(只差一个字母),如果不加修正的话,这条租赁记录会关联不到车辆信息,最终结果里不会包含它。你需要确认这两个值是否应该一致,下面的SQL假设是笔误,我们按carNumber = number来关联(如果实际就是不同值,那这条记录会被排除)。
最终SQL语句
SELECT b.brand AS 车辆品牌, b.model AS 车辆型号, MAX(a.rentalPrice) AS 最高租赁价格 FROM TableA a JOIN TableB b ON a.carNumber = b.number GROUP BY b.brand, b.model ORDER BY b.brand, b.model;
代码解释
- JOIN 关联表:用
JOIN把Table A(别名a)和Table B(别名b)通过carNumber和number关联,这样每条租赁记录都能拿到对应的品牌和型号。 - GROUP BY 分组:按
brand(品牌)和model(型号)分组,把同一品牌同一型号的所有租赁记录归为一组。 - MAX() 聚合函数:对每个分组计算
rentalPrice的最大值,也就是这个品牌型号车辆的最高租赁价格。 - ORDER BY:可选,用来按品牌和型号排序结果,让输出更规整。
执行结果(修正笔误后)
如果把Table A的2255DFS改成2255FDS,执行后会得到这样的结果:
+------------+--------+-------------+ | 车辆品牌 | 车辆型号 | 最高租赁价格 | +------------+--------+-------------+ | AUDI | A3 | 1150 | | AUDI | A4 | 250 | | VOLKSWAGEN | PASSAT | 447 | | VOLKSWAGEN | POLO | 214 | +------------+--------+-------------+
内容的提问来源于stack exchange,提问作者Cpastor 27
相关产品推荐
相关产品推荐

