차를 채울 때마다 다음 표가 표시됩니다. 그것은 날짜, 차량 ID, 해당 시간이 있었다 마일리지를 반환하고 리터 작성 :최대 및 최소 그룹 수는 2 열입니다.
| Date | Vehicle_ID | Mileage | Liters |
| 2016-10-20 | 234 | 123456 | 100 |
| 2016-10-20 | 345 | 458456 | 215 |
| 2016-10-20 | 323 | 756456 | 265 |
| 2016-10-25 | 234 | 123800 | 32 |
| 2016-10-26 | 345 | 459000 | 15 |
| 2016-10-26 | 323 | 756796 | 46 |
생각은 (나는 일에 의해 그것을 할 수없는 달의 평균 소비와를 계산하는 것이다
때문에하지 모든 자동차가 매일 탱크를 채 웁니다.)
나는 최대 (마일리지) - 분 (마일리지)/합계 (리터)를 매달 얻으려고했다. 하지만 이것은 특정 차량 1 대와 특정 달 1 대에서만 작동합니다.
특정 자동차 1 대와 몇 달간 사용해 본 경우 최대 및 최소값이 올바르게 반환되지 않습니다. 모든 자동차를 추가하면 더 나빠집니다. 모든 자동차가 마치 같은 것처럼 최대 및 최소를 가정합니다.
select convert(char(7), Date, 127) as year_month,
sum("Liters tanked")/(max("Mileage")-min("Mileage"))*100 as Litres_per_100KM
from Tanking
where convert(varchar(10),"Date",23) >= DATEADD(mm, -5, GETDATE())
group by convert(char(7), Date, 127)
이것은 모든 자동차의 최대 및 최소를 가정하므로 작동하지 않습니다.
"워크 플로"는 다음과 같음 : - 매월 최대 차량 수와 최소 주행 거리를 확인하십시오. 그 달에 탔던 마일리지를 계산하려면 최대 - 분을 계산하십시오. 각 차량의 주행 거리를 합하여 모든 차량이 주행 할 수있는 총 주행 거리를 계산하십시오. 리터를 탱크에 넣습니다. 전체 리터를 총 주행 거리로 나눕니다. 하위 쿼리에서 한 달에 차 당 금액을 얻을
| YearMonth | Average |
| 2016-06 | 30 |
| 2016-07 | 32 |
| 2016-08 | 46 |
| 2016-09 | 34 |
"나는 일에 의해 그것을 할 수없는 모든 자동차 채우기 때문에 탱크 매일 ". 매일 소비량을 매월 소비량을 약 30으로 나눈 값이 아닌가? – Strawberry
안녕하세요 딸기. 아닙니다. "평일의 평균"을 원한다면 그렇게 될 것입니다. 그러나 내가 의미하는 바는 "하루 1 - 평균 X", "2 일 - 평균 Y"등이었습니다. –
출력에는'2016-09','2016-08','2016-07' 행이 포함되어 있습니다. 및 '2016-06'. 그러나 샘플 데이터에는이 개월 동안의 기록이 포함되어 있지 않습니다. 우리가 일할 수 있도록 업데이트 할 수 있습니까? –