[PHP/PSSQL] Group by periode (4 weken)

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Situatie:
Om bepaalde rapportages te kunnen genereren in PHP moet ik gebruik maken van periodes. Een periode is een tijdsinterval van 4 weken gebasseerd op de weeknummers. Het probleem hierbij is dat bijvoorbeeld 2 januari in periode 13 valt van het vorige jaar, deze wordt meegenomen in het nieuwe jaar. Maar deze moet worden meegenomen in de rapportage van het vorige jaar.

Is zo'n periode te selecteren, rekening houdend met schrikkeljaar, in SQL of moet dit in PHP.

Een oplossing zou zijn om een periodenummer als redudante informatie op te slaan in de database. Dan kunnen we met bijvoorbeeld een GROUP BY of een WHERE clausule de gewenste gegevens selecteren en moduleren.

Acties:
  • 0 Henk 'm!

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Je moet een combinatie van jaar en weeknummer maken en hiermee gaan vergelijken. Dit om te voorkomen dat 1 januari 2005 bij 2005 geteld word. Deze dag hoort immers bij 2004, week 53. Ik zou adviseren om een functie te maken die van een datum de volgende string terug geeft: 2004W53. met deze functie kun je dan aan de slag gaan.

Om algoritmes te vinden kun je eens [google=convert gregorian julian calendar]


Weet je trouwens zeker dat een periode bestaat uit 4 weken, en niet volgens een schema 5-4-4 is?

Oops! Google Chrome could not find www.rijks%20museum.nl


Acties:
  • 0 Henk 'm!

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
P_de_B schreef op vrijdag 28 januari 2005 @ 13:18:
Je moet een combinatie van jaar en weeknummer maken en hiermee gaan vergelijken. Dit om te voorkomen dat 1 januari 2005 bij 2005 geteld word. Deze dag hoort immers bij 2004, week 53. Ik zou adviseren om een functie te maken die van een datum de volgende string terug geeft: 2004W53. met deze functie kun je dan aan de slag gaan.

Om algoritmes te vinden kun je eens [google=convert gregorian julian calendar]


Weet je trouwens zeker dat een periode bestaat uit 4 weken, en niet volgens een schema 5-4-4 is?
Toevallig recentelijk nog mee te maken gehad (waarom toch?:) ):
Er zijn drie veelgebruikte definities van de weken van het jaar. In bijvoorbeeld de kalenderinstellingen van Outlook kun je dit zien. Kort geformuleerd:
  • Week 1 begint op 1 januari. Hiermee krijg je dus vaak 2 deelweken aan het begin en einde van het jaar.
  • Week 1 is de eerste week met vier volledige dagen in het nieuwe jaar (dit is de ISO definitie)
  • Week 1 is de eerste volledige week
bron: o.a. hier