title: Order by ascending / descending with certain condition in single query
body: <p>I have a table as below:</p>
  
  <pre><code>+-----+-------------+
  | id  | status_code |
  +-----+-------------+
  |  1  |         200 |
  |  2  |         301 |
  |  3  |         404 |
  |  4  |         404 |
  |  5  |           0 |
  |  6  |         200 |
  |  7  |         200 |
  +-----+-------------+
  </code></pre>
  
  <p>How to i get the result below in single query?</p>
  
  <p>1) Order by status code descending but 0 at the top of the result.</p>
  
  <pre><code>+-----+-------------+
  | id  | status_code |
  +-----+-------------+
  |  5  |           0 |
  |  4  |         404 |
  |  3  |         404 |
  |  2  |         301 |
  |  7  |         200 |
  |  6  |         200 |
  |  1  |         200 |
  +-----+-------------+
  </code></pre>
  
  <p>2) Order by status code ascending but 0 at the end of the result.</p>
  
  <pre><code>+-----+-------------+
  | id  | status_code |
  +-----+-------------+
  |  1  |         200 |
  |  6  |         200 |
  |  7  |         200 |
  |  2  |         301 |
  |  3  |         404 |
  |  4  |         404 |
  |  5  |           0 |
  +-----+-------------+
  </code></pre>