Salut programmeurs programmeuses,
Allons droit au but !
J'utilise en PHP, une base de données MySQL, et dans l'un de mes scripts j'éxecute 5 requêtes d'affilée, une pour chaque tranche d'âge:
Comme l'indique le titre de la discussion, y'a-t-il un moyen de lancer une seule requête pour les 5 tranches d'âge, en d'autre termes comment factoriser ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 select count(*) from t_personne where age < 35; select count(*) from t_personne where age BETWEEN 35 and 50; select count(*) from t_personne where age BETWEEN 50 and 65; select count(*) from t_personne where age BETWEEN 65 and 80; select count(*) from t_personne where age > 80;
J'ai une idée ce à quoi pourrait ressembler la requête idéale, elle est fausse mais la voilà:
Si ce genre de requête est possible, je pourrais alors gagner en performance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 select count(age) as tr1, count(age) as tr2, count(age) as tr3, count(age) as tr4, count(age) as tr5 from t_personne where tr1 < 35 and (tr2 BETWEEN 35 and 50) and (tr3 BETWEEN 50 and 65) and (tr4 BETWEEN 65 and 80) and tr5 > 80;
Je vous remercie d'avance.
Partager