title: Is there any way to generate "fake" rows in MySQL result set?
body: <p>I need this for charting purposes. Basically i have to:</p>
  
  <ol>
  <li>Select all sent SMS by date without time part, getting an array with dates/counts pairs day-by-day;</li>
  <li>Add "fake" rows for days without any record in my table, that is filling all dates "gaps" with zeroes.</li>
  </ol>
  
  <p>An example result and corresponding table (here simplified) would be:</p>
  
  <pre><code>array(
      '2012-05-26 00:00:00' =&gt; 1,
      '2012-05-27 00:00:00' =&gt; 0, // Fake added row
      '2012-05-28 00:00:00' =&gt; 2,
  )
  
  +----------------+----------------------+
  | Table SMS | id | sent_at              |
  +----------------+----------------------+
  |           |  1 | 2012-05-26 21:58:41  |
  +----------------+----------------------+
  |           |  2 | 2012-05-28 22:19:21  |
  +----------------+----------------------+
  |           |  3 | 2012-05-28 02:19:21  |
  +----------------+----------------------+
  </code></pre>
  
  <p>Is there any SQL command for doing this or should i do manually playing with PHP arrays? </p>