title: SQL: Find duplicates and for each duplicate group assign value of first duplicate of that group
body: <p>I have the results in the top table.  I would like the results in the bottom table.</p>
  
  <p><a href="https://i.stack.imgur.com/1LVlT.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/1LVlT.png" alt="enter image description here"></a></p>
  
  <p>Using an SQL query on the table above, I would like to find groups of duplicates (where the values in all columns except Id and Category are identical) and from that create a result that has for each entry the lowest Id from its group of duplicates and the (unmodified) Category from the original table.</p>