Order the rows with the largest SUM( ) values first and use LIMIT to select the first record
mysql> mysql> mysql> CREATE TABLE mytable -> ( -> rec_id INT UNSIGNED NOT NULL AUTO_INCREMENT, -> name VARCHAR(20) NOT NULL, -> trav_date DATE NOT NULL, -> miles INT NOT NULL, -> PRIMARY KEY (rec_id) -> ); Query OK, 0 rows affected (0.01 sec) mysql> mysql> INSERT INTO mytable (name,trav_date,miles) -> VALUES -> ('Ben','2010-11-30',152), -> ('Suzi','2010-11-29',391), -> ('Henry','2010-11-29',300), -> ('Henry','2010-11-27',96), -> ('Ben','2010-11-29',131), -> ('Henry','2010-11-26',115), -> ('Suzi','2010-12-02',502), -> ('Henry','2010-12-01',197), -> ('Ben','2010-12-02',79), -> ('Henry','2010-11-30',203) -> ; Query OK, 10 rows affected (0.00 sec) Records: 10 Duplicates: 0 Warnings: 0 mysql> mysql> SELECT name, SUM(miles) AS 'total miles' -> FROM mytable -> GROUP BY name -> ORDER BY 'total miles' DESC LIMIT 1; +------+-------------+ | name | total miles | +------+-------------+ | Ben | 362 | +------+-------------+ 1 row in set (0.00 sec) mysql> mysql> drop table mytable; Query OK, 0 rows affected (0.00 sec)