title: MySQL: Why do these queries return different results?
body: <p><strong>Query 1:</strong></p>
  
  <pre><code>SELECT * 
  FROM user_d1 
  WHERE EXISTS (SELECT 1 
                FROM `user_d1` 
                WHERE birthdate BETWEEN '1989-08-04' AND '1991-08-04') 
  ORDER BY timestamp_lastonline DESC 
  LIMIT 20
  </code></pre>
  
  <p><strong>Query 2:</strong></p>
  
  <pre><code>SELECT * 
  FROM user_d1 
  WHERE birthdate BETWEEN '1989-08-04' AND '1991-08-04' 
  ORDER BY timestamp_lastonline DESC 
  LIMIT 20
  </code></pre>
  
  <p>And what I really don't understand: why does <strong>Query 2</strong> return the wrong results? It returns a list ordered first by <code>birthdate</code> and then by <code>timestamp_lastonline</code>...</p>