Forudsat dit postid
s er sammenhængende i din tabel, så denne forespørgsel:
SELECT DATE_FORMAT(b.date, '%Y-%m-%d') date, COUNT(c.postid)FROM( SELECT (SELECT MAX(dato) FROM ex) + INTERVAL 3 DAY - INTERVAL a.postid DAG SOM dato FRA ex a) BLEFT JOIN ex c ON c.date =b.dateGROUP BY b.dateORDER BY b.date
producerer:
dato COUNT(c.postid)2012-01-01 22012-01-02 22012-01-03 02012-01-04 22012-01-05 12012-01-06 02012-01-07 0
Se http://sqlfiddle.com/#!2/2cf8d/2
Hvis dit postid
s ikke er sammenhængende, så kan du bruge et ids
tabel over sammenhængende id'er:
SELECT DATE_FORMAT(b.date, '%Y-%m-%d') date, COUNT(c.postid)FROM( SELECT (SELECT MAX(dato) FROM ex) + INTERVAL 3 DAY - INTERVAL a.id DAG SOM dato FRA ids a) BLEFT JOIN ex c ON c.date =b.dateGROUP BY b.dateORDER BY b.date DESCLIMIT 7
Se http://sqlfiddle.com/#!2/13035/1