!!! Kruimeltje weetjes
* 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
}}}
!! 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;
!! Jaarlijkse rapportage
De volgende SQL statements zijn handig voor het maken van de jaarlijkse rapportage:
%%small
{{{
# 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
}}}
%%