How can I do the same thing this SQL accomplishes using DBIx::Class::Resultset?

select name, ip, environment, type, last_update from test where environment = 'PROD' and last_update in ( select max(last_update) from test where environment = 'PROD' group by type ) order by type
[download]

This lists the most recent records for each type for the 'PROD' environment.