[MySql] Sql Count(*)

Pagina: 1
Acties:

  • vinnux
  • Registratie: Maart 2001
  • Niet online
Beste mensen,

Misschien een makkelijke vraag, maar het is toch leuk om ff te antwoorden hoop ik:).

Ik wil per dag weten hoeveel posts er zijn.
Maar er zijn ook dagen waar ik geen posts gehad heb.
Hoe kan ik er in een querie voor zorgen dat die er ook als resultaat uitkomen.

12-01-2001 = 1
12-02-2001 = 0
12-03-2001 = 1

Ik heb al dit :
code:
1
SELECT date,count(*) FROM table ORDER by date

Verwijderd

Die moet je er met php code tussen breien. Ik zou zeggen store alle gegevens in een multi dimentionale array $hits[jaar][maand][dag] = $count; (met jaar, maand en dag als getallen), vervolgens kijken welke er ontbreken, daar een 0 voor invullen en afdrukken die hap.

  • djfisjtik
  • Registratie: Januari 2002
  • Laatst online: 20-12-2022
code:
1
SELECT date,count(*) FROM table ORDER by date group by date

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Het is echt sporadisch dat je voor totalen phpcode nodig hebt. Als dat zo is betekent dat doorgaans dat je een slecht datamodel hebt...
Op zaterdag 05 januari 2002 18:06 schreef djfisjtik het volgende:
SELECT date,count(*D FROM table ORDER by date group by date
Dat is idd de juiste query

Localhost, sweet localhost


Verwijderd

Op zaterdag 05 januari 2002 19:20 schreef kvdveer het volgende:
Het is echt sporadisch dat je voor totalen phpcode nodig hebt. Als dat zo is betekent dat doorgaans dat je een slecht datamodel hebt...
:? Dan ben ik erg benieuwd hoe jij door middel van een sql query het aantal posts op wilt halen waarbij het ook zo kan zijn dat je zoals vgouw aangeeft op een bepaalde datum niet gepost is (maar die wil hij er wel tussen hebben).

Lezen.

Verwijderd

Op zaterdag 05 januari 2002 18:06 schreef djfisjtik het volgende:
code:
1
SELECT date,count(*) FROM table ORDER by date group by date
Wedden dat daar in vgouw's geval geen 12-02-2001 tussen zit (aangezien er geen record is met deze datum)?

  • vinnux
  • Registratie: Maart 2001
  • Niet online
Nu is mijn probleem nog steeds niet opgelost.
Kun je niet iets doen in de trend van :

SELECT date+ROWNUMMER*DAYS,count(*D GROUP BY date ORDER BY date

Verwijderd

je hebt idd php code nodig,
je kunt nl niet iets uit de database halen wat er niet inzit....

m.a.w. als er op een dag niet gepost is, staat er niks in de db -> dus krijg je ook geen null waarde terug...

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Als je een tabel van datums aanmaakt, zou je met LEFT/RIGHT JOINs kunnen werken. (Dus Outer joins ;) )

Dan kan je een count(* ) doen op "eventueel niet bestaande rows bij een wel bestaande datum".

Verwijderd

Op maandag 07 januari 2002 13:16 schreef ACM het volgende:
Als je een tabel van datums aanmaakt, zou je met LEFT/RIGHT JOINs kunnen werken. (Dus Outer joins ;) )

Dan kan je een count(* ) doen op "eventueel niet bestaande rows bij een wel bestaande datum".
Ja, zo kan het ook ja :D
Maar misschien is dan een stukje php mooier

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Op zaterdag 05 januari 2002 19:49 schreef Zef het volgende:

[..]

:? Dan ben ik erg benieuwd hoe jij door middel van een sql query het aantal posts op wilt halen waarbij het ook zo kan zijn dat je zoals vgouw aangeeft op een bepaalde datum niet gepost is (maar die wil hij er wel tussen hebben).

Lezen.
Voor dat laatste heb je idd wat PHP nodig. Ik heb ook nooit beweerd dat dat niet het geval is.
Op zaterdag 05 januari 2002 19:20 schreef kvdveer het volgende:
Het is echt sporadisch dat je voor totalen phpcode nodig hebt. Als dat zo is betekent dat doorgaans dat je een slecht datamodel hebt...
Dus voor de totalen. Ontbrekende gegevens zijn natuurlijk niet mogelijk.

lezen.

Localhost, sweet localhost


  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Als je het per se met SQL wilt doen, heb een tabel nodig met daarin de getallen 0 tot 1000?
Deze tabel kan je gebruiken om een kalender te bouwen in een selectstatement (select now()-tabel.teller ...)
Je kan in SQL niet elementen uit een verzameling creëren, dus moet je ze ergens vandaan halen :)

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Op zaterdag 05 januari 2002 19:49 schreef Zef het volgende:

[..]

:? Dan ben ik erg benieuwd hoe jij door middel van een sql query het aantal posts op wilt halen waarbij het ook zo kan zijn dat je zoals vgouw aangeeft op een bepaalde datum niet gepost is (maar die wil hij er wel tussen hebben).

Lezen.
Die kun je er dan toch zelf met PHP tussen zetten?
Is vast sneller dan zelf die totalen uitrekenen.
Pagina: 1