Kruimeltje weetjes#
Table of Contents
- Kruimeltje weetjes
- Professionalisering
- domein namen
- Queries
- Jaarlijkse rapportage
- (Jaarlijkse) groepindeling.
- Maandelijkse registratie peuters
- Peuters die uitgestroomd zijn
- Peuters die ingestroomd zijn
- Hoeveel dagdelen heeft elke peuter
- Peuters wachtlijst instroom
- Peuters op wachtlijst ouder dan 2,5 jaar
Professionalisering#
Per medio 2010 wordt krm geprofessionaliseerd.
- backup maken database:
mysqldump krmdb --no-create-db --no-create-info -u root -p > mysqldumpkrm.sql
- "unload" van database:
mysql> select * from peuter where datumtijdlaatstgewijzigd > '2007-06-25 07:00:00' order by nummer into outfile '/tmp/krmexport.sql' FIELDS TERMINATED BY '||' enclosed by '"' lines terminated by '\n'; Query OK, 62 rows affected (0.01 sec)
- weer laden van unload:
mysql> load data infile '/home/metskem/krmexport.sql' replace into table peuter FIELDS TERMINATED BY '||' enclosed by '"' lines terminated by '\n'; Query OK, 124 rows affected (0.01 sec) Records: 62 Deleted: 62 Skipped: 0 Warnings: 0
domein namen#
| naam | opmerking |
|---|---|
| www.kruimeltje.nl | niet meer beschikbaar (Efteling) |
| www.kruimeltjerijssen.nl | vrij |
| www.kruimeltje-rijssen.nl | vrij |
| www.kruimeltje-rijssen-holten.nl | vrij |
| www.kruimeltjerijssenholten.nl | vrij |
| www.peuterspeelzaalkruimeltje.nl | vrij <== deze is het geworden |
| www.peuterspeelzaal-kruimeltje.nl | vrij |
Queries#
| Tel alle peuters | select count(*) from peuter; |
| Tel alle actieve peuters | select count(*) from peuter where datumeerstebezoek<curdate() and datumlaatstebezoek > curdate(); |
| Tel alle actieve peuters per vestiging: | ? |
| Overzicht overjarige peuters | select peuter.nummer,voornaam,achternaam,adres,telnr,geboortedatum,(select naam from groep where groep.nummer=peuter.groep1) as groep1,(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging1,(select naam from groep where groep.nummer=peuter.groep2) as groep2,(select vestiging from groep where groep.nummer=peuter.groep2) as vestiging2,datumeerstebezoek as eerstebezoek,datumingeschreven as ingeschreven,datumlaatstebezoek as laatstebezoek,opmerking from peuter where datumlaatstebezoek>curdate() and datumeerstebezoek<curdate() order by geboortedatum,achternaam,voornaam; |
| Groep overzicht MA2 ZPW | select peuter.nummer,peuter.voornaam,peuter.achternaam,peuter.adres,peuter.postcode,peuter.woonplaats,peuter.telnr,peuter.geboortedatum from peuter where datumeerstebezoek<=curdate() and datumlaatstebezoek>curdate() and (peuter.groep1=(select nummer from groep where naam='MA2' and vestiging='ZevenPeggenweg') or peuter.groep2=(select nummer from groep where naam='MA2' and vestiging='ZevenPeggenweg')) order by geboortedatum; |
| Alle actieve peuters op de Hoeksteen | select peuter.nummer,peuter.voornaam,peuter.achternaam from peuter where datumeerstebezoek<=curdate() and datumlaatstebezoek>curdate() and (peuter.groep1 in (select nummer from groep where vestiging='Hoeksteen') or peuter.groep2 in (select nummer from groep where vestiging='Hoeksteen')); |
| aantal peuters per groep vanaf datum xxx | select groep.naam,groep.vestiging,count(*) as aantal,min(datumeerstebezoek) as 'eerste eerstebezoek', max(datumeerstebezoek) as 'laatste eerstebezoek' from groep,peuter where (peuter.groep1=groep.nummer or peuter.groep2=groep.nummer) and peuter.datumeerstebezoek<='2009-09-01' and peuter.datumlaatstebezoek>'2009-09-01' group by groep.vestiging,groep.naam; |
| alle overjarige peuters die niet in groepen zijn ingedeeld | select distinct peuterid,voornaam,achternaam from peuter where datumlaatstebezoek>curdate() and date_add(geboortedatum,INTERVAL 4 year) < curdate() and peuterid not in (select peuterid from peuter2groep) order by 1 desc; |
Jaarlijkse rapportage#
De volgende SQL statements zijn handig voor het maken van de jaarlijkse rapportage:
oude krm systeem# aantal peuters per vestiging voor elke maand: select "2009-04",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2009-04-30" and datumlaatstebezoek>"2009-04-30" group by vestiging desc; select "2009-05",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2009-05-31" and datumlaatstebezoek>"2009-05-31" group by vestiging desc; select "2009-06",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2009-06-30" and datumlaatstebezoek>"2009-06-30" group by vestiging desc; select "2009-07",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2009-07-31" and datumlaatstebezoek>"2009-07-31" group by vestiging desc; select "2009-08",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2009-08-31" and datumlaatstebezoek>"2009-08-31" group by vestiging desc; select "2009-09",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2009-09-30" and datumlaatstebezoek>"2009-09-30" group by vestiging desc; select "2009-10",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2009-10-31" and datumlaatstebezoek>"2009-10-31" group by vestiging desc; select "2009-11",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2009-11-30" and datumlaatstebezoek>"2009-11-30" group by vestiging desc; select "2009-12",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2009-12-31" and datumlaatstebezoek>"2009-12-31" group by vestiging desc; select "2010-01",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2010-01-31" and datumlaatstebezoek>"2010-01-31" group by vestiging desc; select "2010-02",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2010-02-28" and datumlaatstebezoek>"2010-02-28" group by vestiging desc; select "2010-03",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2010-03-31" and datumlaatstebezoek>"2010-03-31" group by vestiging desc; # dubbelpeuters per vestiging: select "2009-04",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2009-04-30" and datumlaatstebezoek>"2009-04-30" and groep2 is not NULL group by vestiging desc; select "2009-05",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2009-05-31" and datumlaatstebezoek>"2009-05-31" and groep2 is not NULL group by vestiging desc; select "2009-06",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2009-06-30" and datumlaatstebezoek>"2009-06-30" and groep2 is not NULL group by vestiging desc; select "2009-07",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2009-07-31" and datumlaatstebezoek>"2009-07-31" and groep2 is not NULL group by vestiging desc; select "2009-08",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2009-08-31" and datumlaatstebezoek>"2009-08-31" and groep2 is not NULL group by vestiging desc; select "2009-09",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2009-09-30" and datumlaatstebezoek>"2009-09-30" and groep2 is not NULL group by vestiging desc; select "2009-10",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2009-10-31" and datumlaatstebezoek>"2009-10-31" and groep2 is not NULL group by vestiging desc; select "2009-11",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2009-11-30" and datumlaatstebezoek>"2009-11-30" and groep2 is not NULL group by vestiging desc; select "2009-12",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2009-12-31" and datumlaatstebezoek>"2009-12-31" and groep2 is not NULL group by vestiging desc; select "2009-01",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2010-01-31" and datumlaatstebezoek>"2010-01-31" and groep2 is not NULL group by vestiging desc; select "2009-02",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2010-02-28" and datumlaatstebezoek>"2010-02-28" and groep2 is not NULL group by vestiging desc; select "2009-03",(select vestiging from groep where groep.nummer=peuter.groep1) as vestiging,count(*) as aantal from peuter where datumeerstebezoek<"2010-03-31" and datumlaatstebezoek>"2010-03-31" and groep2 is not NULL group by vestiging desc; # $2005_2006.$A$3:$B$16;$2005_2006.$E$3:$E$16;$2005_2006.$H$3:$H$16file:///home/metskem/mySQL/krm1.sql
Aantal peuters
mysql> select "2010-10",count(*) from peuter p where datumeerstebezoek<'2010-10-01' and (datumlaatstebezoek is null OR datumlaatstebezoek >= '2010-11-01' ); +---------+----------+ | 2011-10 | count(*) | +---------+----------+ | 2011-10 | 181 | +---------+----------+ 1 row in set (0.00 sec)
Aantal bezoeken
mysql> select "2010-10",count(*) as 'aantal bezoeken' from peuter p, peuter2groep p2g where datumeerstebezoek<'2010-10-01' and (datumlaatstebezoek is null OR datumlaatstebezoek >= '2010-11-01' ) and p.peuterid=p2g.peuterid; +---------+-----------------+ | 2011-10 | aantal bezoeken | +---------+-----------------+ | 2011-10 | 358 | +---------+-----------------+ 1 row in set (0.00 sec)
Effe bij mekaar voor een hele serie maanden :
select "2010-10",count(*) as 'aantal bezoeken' from peuter p, peuter2groep p2g where datumeerstebezoek<'2010-10-01' and (datumlaatstebezoek is null OR datumlaatstebezoek >= '2010-11-01' ) and p.peuterid=p2g.peuterid; select "2010-11",count(*) as 'aantal bezoeken' from peuter p, peuter2groep p2g where datumeerstebezoek<'2010-11-01' and (datumlaatstebezoek is null OR datumlaatstebezoek >= '2010-12-01' ) and p.peuterid=p2g.peuterid; select "2010-12",count(*) as 'aantal bezoeken' from peuter p, peuter2groep p2g where datumeerstebezoek<'2010-12-01' and (datumlaatstebezoek is null OR datumlaatstebezoek >= '2011-01-01' ) and p.peuterid=p2g.peuterid; select "2011-01",count(*) as 'aantal bezoeken' from peuter p, peuter2groep p2g where datumeerstebezoek<'2011-01-01' and (datumlaatstebezoek is null OR datumlaatstebezoek >= '2011-02-01' ) and p.peuterid=p2g.peuterid; select "2011-02",count(*) as 'aantal bezoeken' from peuter p, peuter2groep p2g where datumeerstebezoek<'2011-02-01' and (datumlaatstebezoek is null OR datumlaatstebezoek >= '2011-03-01' ) and p.peuterid=p2g.peuterid; select "2011-03",count(*) as 'aantal bezoeken' from peuter p, peuter2groep p2g where datumeerstebezoek<'2011-03-01' and (datumlaatstebezoek is null OR datumlaatstebezoek >= '2011-04-01' ) and p.peuterid=p2g.peuterid; select "2011-04",count(*) as 'aantal bezoeken' from peuter p, peuter2groep p2g where datumeerstebezoek<'2011-04-01' and (datumlaatstebezoek is null OR datumlaatstebezoek >= '2011-05-01' ) and p.peuterid=p2g.peuterid; select "2011-05",count(*) as 'aantal bezoeken' from peuter p, peuter2groep p2g where datumeerstebezoek<'2011-05-01' and (datumlaatstebezoek is null OR datumlaatstebezoek >= '2011-06-01' ) and p.peuterid=p2g.peuterid; select "2010-10",count(*) as 'aantal peuters' from peuter p where datumeerstebezoek<'2010-10-01' and (datumlaatstebezoek is null OR datumlaatstebezoek >= '2010-11-01' ); select "2010-11",count(*) as 'aantal peuters' from peuter p where datumeerstebezoek<'2010-11-01' and (datumlaatstebezoek is null OR datumlaatstebezoek >= '2010-12-01' ); select "2010-12",count(*) as 'aantal peuters' from peuter p where datumeerstebezoek<'2010-12-01' and (datumlaatstebezoek is null OR datumlaatstebezoek >= '2011-01-01' ); select "2011-01",count(*) as 'aantal peuters' from peuter p where datumeerstebezoek<'2011-01-01' and (datumlaatstebezoek is null OR datumlaatstebezoek >= '2011-02-01' ); select "2011-02",count(*) as 'aantal peuters' from peuter p where datumeerstebezoek<'2011-02-01' and (datumlaatstebezoek is null OR datumlaatstebezoek >= '2011-03-01' ); select "2011-03",count(*) as 'aantal peuters' from peuter p where datumeerstebezoek<'2011-03-01' and (datumlaatstebezoek is null OR datumlaatstebezoek >= '2011-04-01' ); select "2011-04",count(*) as 'aantal peuters' from peuter p where datumeerstebezoek<'2011-04-01' and (datumlaatstebezoek is null OR datumlaatstebezoek >= '2011-05-01' ); select "2011-05",count(*) as 'aantal peuters' from peuter p where datumeerstebezoek<'2011-05-01' and (datumlaatstebezoek is null OR datumlaatstebezoek >= '2011-06-01' );(Jaarlijkse) groepindeling.#
select voornaam, achternaam, adres, group_concat(substr(g.naam,5,3)) as "Groepen" from peuter p, peuter2groep p2g, groep g where p.peuterid=p2g.peuterid and p2g.groepid=g.groepid and p.datumeerstebezoek <='2012-10-01' and (datumlaatstebezoek is null or datumlaatstebezoek>'2011-10-01') group by achternaam,voornaam,adres order by p.achternaam,p.voornaam;
Even mysql aanroepen met de --html optie, en dan als eerste command iets van tee /var/www/groepindeling.html
Dan nog even een overzicht van de groepen/leidsters erbij :
select concat(l.voornaam," ",l.achternaam) as leidster, group_concat(substr(g.naam,5,3)) as 'groep' from leidster l, leidster2groep l2g,groep g where l.leidsterid=l2g.leidsterid and l2g.groepid=g.groepid and l.professioneel='J' group by l.achternaam,l.voornaam order by l.achternaam,l.voornaam;
Maandelijkse registratie peuters#
Peuters die uitgestroomd zijn#
select voornaam,achternaam,datumlaatstebezoek,(select naam from basisschool where peuter.basisschool=basisschool.basisschoolid) as basisschool from peuter where datumlaatstebezoek>'2012-09-30' and datumlaatstebezoek<='2012-10-31';
Peuters die ingestroomd zijn#
select voornaam,achternaam,datumeerstebezoek,(select naam from basisschool where peuter.basisschool=basisschool.basisschoolid) as basisschool from peuter where datumeerstebezoek>'2012-09-30' and datumeerstebezoek<='2012-10-31';
Hoeveel dagdelen heeft elke peuter#
select voornaam,achternaam, count(*) from peuter p, peuter2groep p2g, groep g where p.peuterid=p2g.peuterid and p2g.groepid=g.groepid and datumeerstebezoek<curdate() and (datumlaatstebezoek>curdate() or datumlaatstebezoek is null) group by voornaam,achternaam order by 3,achternaam,voornaam;
Peuters wachtlijst instroom#
select voornaam,achternaam, geboortedatum from peuter where (datumeerstebezoek>'2012-10-01' or datumeerstebezoek is null) order by achternaam,voornaam;
Peuters op wachtlijst ouder dan 2,5 jaar#
select voornaam,achternaam, geboortedatum,datumeerstebezoek from peuter where (datumeerstebezoek>curdate() or datumeerstebezoek is null) and date_add(geboortedatum, interval 2.5 year ) < '2012-09-01' order by geboortedatum desc, achternaam,voornaam;

