[mysql] Group by i policzenie rekordów

[mysql] Group by i policzenie rekordów
UL
  • Rejestracja: dni
  • Ostatnio: dni
0

Mam tabele wpisy z polami

Wpisy:
id
nazwa
utworzone

I tam sie dodaja jakies wpisy raz na jakis czas. Teraz musze policzyc wedlug dat wszystkie wpisy dodane miedzy datami A i B... gdy nie ma wpisow pokazac 0.

Wiem ze trzeba zrobic count(id) i group by wedlug "utworzone" ale gdy w danym dniu nie dodano rekordu sql nie zwroci 0 w danym dniu po prostu oleje ten dzien...

Musze to programistycznie zalatwic czy moze ktos zna jakis madry sposob ?

Z goru dzieki za pomoc.

prgtw
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 255
0

W sumie nie wiem po co having, gdyż ograniczenie tyczy się tylko konkretnego okresu więc ogólna ilość tak:

Kopiuj
select
  count(*)
from
  wpisy
where
  utworzone between '2007-01-01' and NOW()

... aczkolwiek jeśli z podanego zakresu dat potrzebujesz mieć szczegółowe dane na temat ile w każdym dniu to tak:

Kopiuj
select
  utworzone,
  count(*)
from
  wpisy
group by
  utworzone
having
  utworzone between '2007-01-01' and NOW()

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.