title: How to select rows from MySQL based on max value of a column + grouping
body: <p>I've got a table that contains (let's say) all the times when a user looked at a specific webpage.  Users can of course look at a page more than once, so there can be multiple entries for users and pages, like so:</p>
  
  <pre><code>nid     time    user  page_id
   25     8000       4      467
   24     7000       1      482
   23     6000       1      484
   22     5000       1      482
   21     4000       5      467
   20     3000       4      467
  </code></pre>
  
  <p>I want to do a query that returns the rows corresponding to every page viewed by every user WITH THE CATCH THAT if a user looked at a page more than once, I get the row corresponding to the most recent view (i.e., the largest value of TIME).  Thus, I should get this:</p>
  
  <pre><code>nid     time    user  page_id
   25     8000       4      467
   24     7000       1      482
   23     6000       1      484
   21     4000       5      467
  </code></pre>
  
  <p>We lose row 22 because user 1 looked at page 482 at a later time, and we lose row 20 because  user 4 looked at page 467 at a later time.</p>
  
  <p>I almost have this figured out, but I can't quite crack it, while also convincing myself that the results I'm getting will be generally correct and not just an accident of my test cases.  I keep going back and forth between GROUP BY or DISTINCT queries and embedded queries, and then my brain explodes.  Any suggestions?  Thanks!</p>