For example, I have a Table
| Id | CarPartId | CarPartPrice | Metadata | 
|---|---|---|---|
| 1 | spanner | 580 | Some other data | 
| 2 | spanner | 570 | Some other data 2 | 
| 3 | wheel | 423 | Some other data | 
| 4 | window | 234 | Some other data | 
| 5 | engine | 568 | Some other data 1 | 
| 6 | engine | 423 | Some other data 2 | 
Notice that when I do a SELCT * FROM this table, I would get two rows of CarPartId, but what I really want is to get the CarPartId row whereby the CarPartPrice is the highest, along with other rows from the table.
How do I achieve this? For example, my query should return this
| Id | CarPartId | CarPartPrice | Metadata | 
|---|---|---|---|
| 1 | spanner | 580 | Some other data | 
| 3 | wheel | 423 | Some other data | 
| 4 | window | 234 | Some other data | 
| 5 | engine | 568 | Some other data 1 | 
 
     
     
     
    