Puoi creare un set di risultati automatizzato utilizzando le variabili MySQL per tutte le date che desideri.
select
AllDaysYouWant.MyJoinDate,
count( U.User_ID ) as NumberJoined
from
( select
@curDate := Date_Add(@curDate, interval 1 day) as MyJoinDate
from
( select @curDate := '2012-11-21' ) sqlvars,
Users
limit 18 ) AllDaysYouWant
LEFT JOIN Users U
on AllDaysYouWant.MyJoinDate = U.User_JoinDate
group by
AllDaysYouWant.MyJoinDate
La query interna, mi sto solo collegando alla tabella degli utenti senza chiave, quindi è solo usato per scorrere il numero X di record per rappresentare l'intervallo di giorni desiderato ... Potrebbe essere 30, 100, qualunque cosa ... Solo fintanto che la tabella (in questo caso utenti), ha tutti i record che ti aspetti.
ALLORA, quel risultato di nient'altro che giorni viene unito alla tabella users, ma questa volta, in base a JOIN_DATE dell'utente. Il semplice COUNT() dovrebbe darti ciò che desideri.
"AllDaysYouWant" è l'alias assegnato alla query interna della prima parte di
( select
@curDate := Date_Add(@curDate, interval 1 day) as MyJoinDate
from
( select @curDate := '2012-11-21' ) sqlvars,
Users
limit 18 ) AllDaysYouWant
Questo afferma fondamentalmente ... Dalla tabella degli utenti (ma potrebbe essere qualsiasi), dammi 18 righe di dati (tramite limite, ma potrebbe essere quasi un numero qualsiasi di record, ma hai solo bisogno dal 22 novembre al 6 dicembre, che è solo 14 giorni, ma ne ho fatti 18 solo per principio, potrebbe essere quasi tutto. Sopra la tabella Users c'è (select @curDate :='2012-11-21' ) sqlvars. Qualsiasi istruzione select all'interno di una query racchiusa tra parentesi come all'origine della tabella deve essere assegnato un alias e poiché è solo una variabile che userò, non mi interessa quale sia il suo nome.Quindi, questa query avvia la variabile a novembre 21 e il Select @curDate :=Date_Add... bla bla afferma di prendere il valore corrente di @curDate, aggiungere 1 giorno ad esso (ora diventa 22 novembre) e memorizzarlo nella riga restituita "MyJoinDate". Quindi ora, questa query interna crea la tua tabella di sole date che vanno dal 22 novembre inoltra 18 giorni di dati e ha l'alias "AllDaysYouWant" per il resto della query a cui fare riferimento.
Ho modificato la query che probabilmente era quella che hai riscontrato, in alias.field tutto per chiarimenti...