Du kan bygge et automatiseret resultatsæt ved hjælp af MySQL-variabler til alle de datoer, du ønsker.
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
Den indre forespørgsel, jeg slutter mig lige til brugertabellen uden nøgle, så den bruges bare til at cykle gennem X antal poster for at repræsentere det dagspænd, du ønsker... Dette kunne være 30, 100, hvad som helst... Bare så længe tabellen (i dette tilfælde brugere), har så mange poster, som du forventer.
SÅ føjes resultatet af kun dage til brugertabellen, men denne gang baseret på JOIN_DATE for brugeren. Den simple COUNT() skulle give dig, hvad du ønsker.
"AllDaysYouWant" er det alias, der er tildelt den interne første del-forespørgsel i
( select
@curDate := Date_Add(@curDate, interval 1 day) as MyJoinDate
from
( select @curDate := '2012-11-21' ) sqlvars,
Users
limit 18 ) AllDaysYouWant
Dette siger dybest set... Fra brugertabellen (men kan være hvilken som helst), giv mig 18 rækker data (via grænse, men kan være næsten et hvilket som helst antal poster, men du behøver kun fra 22. november til 6. december, hvilket kun er 14 dage, men jeg gjorde 18 bare for princippet, at det kunne være næsten hvad som helst. Over brugertabellen er (vælg @curDate :='2012-11-21' ) sqlvars. Enhver select-sætning i en forespørgsel, der er pakket ind i parentes som en tabelkilden skal have et alias, og da det kun er en variabel, jeg skal bruge, er du ligeglad med, hvad dens navn er. Så denne forespørgsel starter variablen den 21. november og vælg @curDate :=Date_Add... bla bla angiver at tage den aktuelle værdi af @curDate, tilføje 1 dag til den (bliver nu 22. nov) og gemme den i den returnerede række "MyJoinDate". Så nu opretter denne indre forespørgsel din tabel med kun datoer, der går fra 22. nov. videresend 18 dages data og har aliaset "AllDaysYouWant" for resten af forespørgslen til reference.
Jeg har justeret forespørgslen, som sandsynligvis var det, du stødte på, til alias.field alt for afklaring...