Consider this database structure:

```
 __________                 __________
| Trucks   |               | Mileage  |
|__________|__________     |__________|________________________
| ID    | DRIVER      |    | TRUCK_ID  | MILEAGE  | OIL_CHANGE |
|---------------------|    |-----------------------------------|
| 1     | Tony        |    | 1         | 100000     105000     |
| 2     | George      |    | 2         | 6020       10020      |
| 3     | Mary        |    | 3         | 37798      41000      |
|_____________________|    | 3         | 41233      47200      |
                           | 3         | 49000                 |
                           |___________________________________|

```

I want to end up with a result set containing the maximum miles and maximum oil\_change for each driver. 

```
_________________________________
| 1  | Tony  |  100000 | 105000 |
| 2  | George|  6020   | 10020  |
| 3  | Mary  |  49000  | 47200  |
|_______________________________|

```

This is what I have tried so far:

```
SELECT t.*, MAX(m.mileage) AS mileage, MAX(m.oil_change) AS oil_change
FROM trucks t
LEFT JOIN mileage m ON t.id = m.truck_id
GROUP BY t.id

```

But this doesn't seem to allow the `MAX` function to work properly. It does not always contain the actual maximum value for `mileage`