select date_sub(current_date, interval tens.i*10 + units.i day) as ddate from integers as units cross join integers as tens where tens.i*10 + units.i between 0 and 30 order by ddate desc
this gives results like:
+------------+
| ddate |
+------------+
| 2006-03-05 |
| 2006-03-04 |
| 2006-03-03 |
| 2006-03-02 |
| 2006-03-01 |
| 2006-02-28 |
| 2006-02-27 |
| 2006-02-26 |
... etc
I then want to left join this against a table of messages on ddate=me_date with a count on me_id to get totals for every day. How do I join this date list above with the subsequent table?