Můžete sestavit automatizovanou sadu výsledků pomocí proměnných MySQL pro všechna data, která chcete.
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
Vnitřní dotaz, právě se připojuji k tabulce uživatelů bez klíče, takže se používá pouze k procházení X počtem záznamů, které představují požadované denní rozpětí... Může to být 30, 100, cokoliv.... Prostě pokud je tabulka (v tomto případě uživatelé), má tolik záznamů, kolik očekáváte.
POTOM se tento výsledek pouze dnů připojí k tabulce uživatelů, ale tentokrát na základě JOIN_DATE uživatele. Jednoduché COUNT() by vám mělo přinést to, co chcete.
„AllDaysYouWant“ je alias přiřazený k internímu dotazu první části
( select
@curDate := Date_Add(@curDate, interval 1 day) as MyJoinDate
from
( select @curDate := '2012-11-21' ) sqlvars,
Users
limit 18 ) AllDaysYouWant
To v podstatě říká... Z tabulky uživatelů (ale může to být jakákoliv) mi dejte 18 řádků dat (přes limit, ale může to být téměř libovolný počet záznamů, ale potřebujete pouze od 22. listopadu do 6. prosince, což je pouze 14 dní, ale udělal jsem 18, jen z principu to mohlo být téměř cokoliv. Nad tabulkou Users je (select @curDate :='2012-11-21' ) sqlvars. Jakýkoli příkaz select v dotazu, který je zabalen do závorek jako zdroj tabulky musí mít alias a protože je to jen proměnná, kterou budu používat, je mi jedno, jak se jmenuje. Tento dotaz tedy začíná proměnnou 21. listopadu a Select @curDate :=Date_Add... bla bla uvádí, že převezme aktuální hodnotu @curDate, přidá k ní 1 den (nyní se stane 22. listopadu) a uloží ji do vráceného řádku „MyJoinDate“. Takže nyní tento vnitřní dotaz vytvoří vaši tabulku pouze dat od 22. listopadu vpřed data za 18 dní a má alias „AllDaysYouWant“ pro zbytek dotazu, na který se má odkazovat.
Upravil jsem dotaz, na který jste pravděpodobně narazili, na alias.field vše pro upřesnění...