MYSQL : Récupération d'un tableau
Eric
-
SangokuSSJ4 Messages postés 480 Statut Membre -
SangokuSSJ4 Messages postés 480 Statut Membre -
Bonjour,
je dispose d'une table sql avec un champ 'membres' et un champ 'progression'
je cherche à obtenir un tableau contenant le nombre de membres dont la progression est :
>= 100,
>= 200,
>= 300,
...,
= progression maximale
et si c'est possible, en une seule requête sql
il y a-t-il un mot clé qui permette de faire cela ?
j'ai essayé plein de choses, mais je n'arrive jamais à réccupérer ce tableau
merci à vous
cordialement
je dispose d'une table sql avec un champ 'membres' et un champ 'progression'
je cherche à obtenir un tableau contenant le nombre de membres dont la progression est :
>= 100,
>= 200,
>= 300,
...,
= progression maximale
et si c'est possible, en une seule requête sql
il y a-t-il un mot clé qui permette de faire cela ?
j'ai essayé plein de choses, mais je n'arrive jamais à réccupérer ce tableau
merci à vous
cordialement
A voir également:
- MYSQL : Récupération d'un tableau
- Mysql community download - Télécharger - Bases de données
- Mysql error in file: /engine/classes/mysql.php at line 53 ✓ - Forum Réseaux sociaux
- Phpmyadmin a tenté de se connecter au serveur mysql, et le serveur a rejeté la connexion. merci de vérifier les valeurs de host, username et password dans la configuration et de s'assurer qu'elles correspondent aux informations fournies par l'administrateur du serveur mysql. ✓ - Forum PHP
- Le paquet « mysql-server » n'a pas de version susceptible d'être installée ✓ - Forum Debian
- Access vs mysql - Forum Webmastering
8 réponses
Je viens de trouver ça, essaye voir si ça fonctionne ?
https://forums.devx.com/showthread.php?19168-multiple-count-statements-in-1-sql-query
https://forums.devx.com/showthread.php?19168-multiple-count-statements-in-1-sql-query
SELECT '?????' as Palier FROM 'membres' WHERE 'progression' IN ((SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 100),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 200),(SELECT COUNT('progression') FROM 'membres'WHERE 'progression' > 300),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 400),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 500),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 600),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 700),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 800),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 900),(SELECT COUNT('progression') FROM 'membres'WHERE 'progression' <=> (SELECT MAX('progression') FROM 'membres')));
La requête serait de ce style, mais si possible en automatisant les 100, 200, 300, ...
et je ne sais pas comment récupérer le résultat dans le ?????
je regarde ton lien
La requête serait de ce style, mais si possible en automatisant les 100, 200, 300, ...
et je ne sais pas comment récupérer le résultat dans le ?????
je regarde ton lien
pour récupèrer le résultat dans le ??? , je pense que ça doit ressembler à un tableau à dimension multiples, du genre Palier[2][1]...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon, j'ai trouvé quyelque chose qui me convient :
SELECT CONCAT_WS(",",(SELECT COUNT('progression') FROM 'membres'WHERE 'progression' <=> (SELECT MAX('progression') FROM 'membres')),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 100),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 200),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 300),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 400),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 500),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 600),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 700),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 800),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 900)) AS Palier
tous les
"(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > ".$i."00)"
seront dans une boucle de fabrication de la requête
un explode me donnera mon tableau
Palier[0] corespond au max
Palier[1] au >=100
Palier[2] au >=200
...
SELECT CONCAT_WS(",",(SELECT COUNT('progression') FROM 'membres'WHERE 'progression' <=> (SELECT MAX('progression') FROM 'membres')),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 100),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 200),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 300),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 400),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 500),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 600),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 700),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 800),(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > 900)) AS Palier
tous les
"(SELECT COUNT('progression') FROM 'membres' WHERE 'progression' > ".$i."00)"
seront dans une boucle de fabrication de la requête
un explode me donnera mon tableau
Palier[0] corespond au max
Palier[1] au >=100
Palier[2] au >=200
...
le résultat serait de la forme :
>= 100 => 12000 // nombre total de membres ayant leur progression >= 100
>= 200 => 8000
>= 300 => 3210
>= 400 => 987
= 412 => 601 // nombre ayant la progression maximale