title: SQL Select all rows from table with lowest ids that match
body: <p>I have table like so:</p>
  
  <pre><code>    id  |  order_id  |  product_id
  ------------------------------------
      1   |  356       |  80
      2   |  356       |  81
      3   |  357       |  77
      4   |  357       |  80
      5   |  357       |  78
      6   |  358       |  90
  </code></pre>
  
  <p>What I would like to be able to do is to grab the 2 lowest <code>order_id</code> values without knowing how many there are to begin with, but I am having trouble thinking of how to create the query to select these rows...</p>
  
  <p><code>SELECT * FROM table ORDER BY order_id ASC</code></p>
  
  <p>Is there a way to do this within MySQL, that will always return the lowest <code>order_id</code> value rows, so in this case, I should get the first 2 rows returned.  If the first 2 rows didn't exist, than I should get returned rows 3 - 5 (totaling 3 rows for order id 357).</p>
  
  <p>How to do this?</p>