rendered paste bodymysql> select * from foo;
+----+-------+------+---------------------+
| id | catid | name | ts |
+----+-------+------+---------------------+
| 1 | 1 | cat1 | 2006-07-06 08:51:29 |
| 2 | 1 | cat1 | 2006-07-07 08:51:42 |
| 3 | 1 | cat1 | 2006-07-08 08:51:44 |
| 4 | 1 | cat1 | 2006-07-09 08:51:52 |
| 5 | 1 | cat1 | 2006-07-10 08:52:07 |
| 6 | 1 | cat1 | 2006-07-11 08:52:13 |
| 7 | 1 | cat1 | 2006-07-12 08:52:16 |
| 8 | 2 | cat2 | 2006-07-06 08:53:10 |
| 9 | 2 | cat2 | 2006-07-07 08:53:10 |
| 10 | 2 | cat2 | 2006-07-08 08:53:10 |
+----+-------+------+---------------------+
10 rows in set (0.00 sec)
mysql> select max(ts), name, id from foo group by name order by max(ts) desc;
+---------------------+------+----+
| max(ts) | name | id |
+---------------------+------+----+
| 2006-07-12 08:52:16 | cat1 | 1 |
| 2006-07-08 08:53:10 | cat2 | 8 |
+---------------------+------+----+
2 rows in set (0.01 sec)