How to get all the fields of a row using the SQL MAX function?

Posted by Yiannis Mpourkelis on Stack Overflow See other posts from Stack Overflow or by Yiannis Mpourkelis
Published on 2010-05-23T23:18:11Z Indexed on 2010/05/23 23:20 UTC
Read the original article Hit count: 263

Filed under:
|

Consider this table (from http://www.tizag.com/mysqlTutorial/mysqlmax.php):

Id name type price 123451 Park's Great Hits Music 19.99 123452 Silly Puddy Toy 3.99 123453 Playstation Toy 89.95 123454 Men's T-Shirt Clothing 32.50 123455 Blouse Clothing 34.97 123456 Electronica 2002 Music 3.99 123457 Country Tunes Music 21.55 123458 Watermelon Food 8.73

This SQL query returns the most expensive item from each type: SELECT type, MAX(price) FROM products GROUP BY type

Clothing $34.97 Food $8.73 Music $21.55 Toy $89.95

I also want to get the fields id and name that belong to the above max price, for each row. What SQL query will return a table like this?

Id name type price 123455 Blouse Clothing 34.97 123458 Watermelon Food 8.73 123457 Country Tunes Music 21.55 123453 Playstation Toy 89.95

© Stack Overflow or respective owner

Related posts about sql

Related posts about max