Q:

SQL query that can identify distinct values and maximum values

I need an sql statement to select distinct records and at the same time compare maximum or rather latest date from database. This is my table fleetschedule. It contains fleetschedule id,companyid,route,fleetnumber,traveldate.  SQL query I tried:
SELECT DISTINCT fleetnumber and max(traveldate), routeid, companyid, traveldate
FROM fleetSchedule

problem is it gives just 1 value(the maximum). 
I require all distinct buses(identified by fleetnumbers) that travelled on the maximum/latest date. 
sample data of outcome i'm looking for:
fleetnumber routeid companyid   traveldate
MSH-17E     RT17    MSH         2009-07-26
FDH-17D     RT17    FDH         2009-07-26
MSH-17F     RT17    MSH         2009-07-25
MSH-27E     RT27    MSH         2009-08-24

sample of table am using:
fleetScheduleID companyID    routeID     travelDate fleetNumber
20                  MSH      RT17        2009-07-26     MSH-17E     
19                  MSH      RT17        2009-07-26     MSH-17D 
18                  MSH      RT27        2009-08-24     MSH-27E  

A:

SELECT fleetNumber, 
       MAX(travelDate) AS travelDate, 
       SUBSTRING_INDEX(GROUP_CONCAT(routeID ORDER BY travelDate DESC), ',', 1) AS routeID, 
       SUBSTRING_INDEX(GROUP_CONCAT(companyID ORDER BY travelDate DESC), ',', 1) AS companyID
FROM fleetSchedule
GROUP BY fleetNumber;

