title: Using 'GROUP BY' while preferring rows associated in another table
body: <p>I have a table <code>tbl_entries</code> with the following structure:</p>
  
  <pre><code>+----+------+------+------+
  | id | col1 | col2 | col3 |
  +----+------+------+------+
  | 11 |    a |    b |    c |
  | 12 |    d |    e |    a |
  | 13 |    a |    b |    c |
  | 14 |    X |    e |    2 |
  | 15 |    a |    b |    c |
  +----+------+------+------+
  </code></pre>
  
  <p>And another table <code>tbl_reviewlist</code> with the following structure:</p>
  
  <pre><code>+----+-------+------+------+------+
  | id | entid | cola | colb | colc |
  +----+-------+------+------+------+
  |  1 |    12 |    N |    Y |    Y |
  |  2 |    13 |    Y |    N |    Y |
  |  3 |    14 |    Y |    N |    N |
  +----+-------+------+------+------+
  </code></pre>
  
  <p>Basically, <code>tbl_reviewlist</code> contains reviews about the entries in <code>tbl_entries</code>. However, for some known reason, the entries in <code>tbl_entries</code> are duplicated. I am extracting the unique records by the following query:</p>
  
  <pre><code>SELECT * FROM `tbl_entries` GROUP BY `col1`, `col2`, `col3`;
  </code></pre>
  
  <p>However, any one of the duplicate rows from <code>tbl_entries</code> will be returned no matter they have been reviewed or not. I want the query to <strong>prefer</strong> those rows which have been reviewed. How can I do that?</p>
  
  <p>EDIT: I want to prefer rows which have been reviewed but if there are rows which have not been reviewed yet it should return those as well.</p>
  
  <p>Thanks in advance!</p>