【发布时间】:2015-10-22 06:04:54
【问题描述】:
如何仅使用 MySQL 或 Oracle 获得平均油耗:
SELECT te.fuelName,
zkd.fuelCapacity,
zkd.odometer
FROM ZakupKartyDrogowej zkd
JOIN TypElementu te
ON te.typElementu_Id = zkd.typElementu_Id
AND te.idFirmy = zkd.idFirmy
AND te.typElementu_Id IN (3,4,5)
WHERE zkd.idFirmy = 1054
AND zkd.kartaDrogowa_Id = 42
AND zkd.data BETWEEN to_date('2015-09-01','YYYY-MM-DD')
AND to_date('2015-09-30','YYYY-MM-DD');
此查询的结果是:
fuelName | fuelCapacity | odometer | tanking
-------------------------------------------------
'ON' | 534 | 1284172 | 2015-09-29
'ON' | 571 | 1276284 | 2015-09-02
'ON' | 470 | 1277715 | 2015-09-07
'ON' | 580.01 | 1279700 | 2015-09-11
'ON' | 490 | 1281103 | 2015-09-17
'ON' | 520 | 1282690 | 2015-09-23
我们可以稍后在java 或php 中执行此操作,但希望立即从查询中获取结果。我们应该如何修改上面的查询来做到这一点?
fuelCapacity 是在加油站倒入油箱的燃油升数。
【问题讨论】:
-
第 2 列和第 3 列是什么意思(数字、里程表?)
-
请将字段名翻译成英文。
-
你有
fuelCapacity和odometer,你想要平均消费。如何?您没有提供有关如何计算它的信息。如果我知道汽车的燃油容量和里程表读数,我就无法计算平均油耗。 -
正如 Antti29 所说,您的列名没有意义,根据给定的信息很难为您提供帮助。弄清楚数据集后,就可以进行计算列,例如:
SELECT fuelused/dist AS consumption FROM yourtable。 -
fuelCapacity 是您当天油箱的数量并且您总是将油箱加满?那么在 2015 年 9 月 29 日,您行驶了 1284172-1276284=7888 的距离并在该距离上使用了 534 燃料?所以你平均每个距离单位使用 0.07 个燃料单位?