title: MySQL query to show records with current date on top and others as per descending order
body: <p>I am using the following query in my database,</p>
  
  <pre><code>SELECT b.sales_id,b.category_id,b.sale_starts,b.sale_ends 
  FROM tbl_sales b WHERE b.active=1 
  UNION
  SELECT b.sales_id,b.category_id,b.sale_starts,b.sale_ends 
  FROM tbl_sales b INNER JOIN tb_category c ON  b.category_id=c.cat_id 
  WHERE c.cat_keyword LIKE 'a' ORDER BY sale_ends  DESC
  </code></pre>
  
  <p>and getting the result as follows,</p>
  
  <pre><code>sales_id  | category_id         |sale_starts | sale_ends 
  ----------|---------------------|------------|--------------
   1        |   10                | 2012-03-31 | 2012-04-30     
   2        |   11                | 2012-03-22 | 2012-04-27
   3        |   25                | 2012-03-31 | 2012-04-25
   4        |   12                | 2012-04-05 | 2012-04-11
  </code></pre>
  
  <p>Now i need to get the result as follows, ie the row which has <code>today's date/current date as</code>sale_ends must be shown in the top of the order (assuming today's date/current date is <code>2012-04-11</code>), like shown below-</p>
  
  <pre><code>sales_id      | category_id         |sale_starts | sale_ends 
      ----------|---------------------|------------|--------------
       4        |   12                | 2012-04-05 | 2012-04-11 (today's date)
       1        |   10                | 2012-03-31 | 2012-04-30     
       2        |   11                | 2012-03-22 | 2012-04-27
       3        |   25                | 2012-03-31 | 2012-04-25
  </code></pre>
  
  <p>Need help in this, thanks in advance.</p>