Aide MySQL pour regroupement par intervalles
5 messages
• Page 1 sur 1
-

OJAL - WRInaute passionné

- Messages: 1178
- Inscription: 10 Avr 2003
Aide MySQL pour regroupement par intervalles
Bonjour,
Je souhaite trouver la requête SQL qui me permettra d'extraire le nombre d'annonces par intervalles de surfaces avec par exemple des intervalles de surfaces de 0 à 40 puis 40 à 70 puis tout ce qui est sup à 70 par exemple...
Je sais le faire en autant de requêtes que d'intervalles, mais j'aurais besoin de le faire en une seule requête.
Merci par avance pour votre aide
Je souhaite trouver la requête SQL qui me permettra d'extraire le nombre d'annonces par intervalles de surfaces avec par exemple des intervalles de surfaces de 0 à 40 puis 40 à 70 puis tout ce qui est sup à 70 par exemple...
Je sais le faire en autant de requêtes que d'intervalles, mais j'aurais besoin de le faire en une seule requête.
Merci par avance pour votre aide
-

Bh@Mp0 - WRInaute discret

- Messages: 245
- Inscription: 18 Jan 2005
Bourrinons !
A tester et à vérifier, car j'ai un gros doute ...
- Code: Tout sélectionner
SELECT COUNT(DISTINCT t1.id) AS countGroup1, COUNT(DISTINCT t2.id) AS countGroup2, COUNT(DISTINCT t3.id) AS countGroup3
FROM myTable t1
LEFT JOIN myTable t2
LEFT JOIN myTable t3
WHERE t1.surface BETWEEN 0 AND 40
AND t2.surface BETWEEN 40 AND 70
AND t3.surface > 70
A tester et à vérifier, car j'ai un gros doute ...
-

OJAL - WRInaute passionné

- Messages: 1178
- Inscription: 10 Avr 2003
Merci Bh@Mp0,
J'ai donné les intervalles pour exemple
En fait j'aurai besoin de beaucoup plus d'intervalles...
Il faut peut être simplement que je fasse une requête par intervalle sans plus me casser la tête avec des between... 10 intervalles, 10 requêtes.
J'ai donné les intervalles pour exemple
Il faut peut être simplement que je fasse une requête par intervalle sans plus me casser la tête avec des between... 10 intervalles, 10 requêtes.
-

Bh@Mp0 - WRInaute discret

- Messages: 245
- Inscription: 18 Jan 2005
Euh bah non ... faut surtout que tu construises automatiquement la requête à partir, par exemple, d'un tableau où tu donnes les limites.
Genre :
Genre :
- Code: Tout sélectionner
function buildRequest($myLimits) {
$selects = "";
$tables = "";
$wheres = "";
for($i=0;$i<count($myLimits);$i++) {
$selects .= "COUNT(DISTINCT t".$i.".id) AS countGroup".$i.", ";
$tables .= "myTable t".$i." LEFT JOIN ";
if($myLimits[$i][0] == null) $wheres .= "t".$i.".surface < ".$myLimits[$i][1]." AND ";
elseif($myLimits[$i][1] == null) $wheres .= "t".$i.".surface > ".$myLimits[$i][0]." AND ";
else $wheres .= "t".$i." BETWEEN ".$myLimits[$i][0]." AND ".$myLimits[$i][1]." AND ";
}
// on vire le dernier ", "
$selects = substr($selects, 0, strlen($selects)-2);
// on vire le dernier " LEFT JOIN "
$tables = substr($tables, 0, strlen($tables)-11);
// on vire le dernier " AND "
$wheres = substr($wheres, 0, strlen($wheres)-5);
return "SELECT ".$selects." FROM ".$tables." WHERE ".$wheres;
}
// maintenant on construit nos limits
$limits = array(
array(null,40),
array(40,70),
array(70,null),
array(80,81),
array(1,100)
);
// et on appelle la fonction qui crée la requête
$request = buildRequest($limits);
// on va l'afficher pour l'instant, afin de tester
print_r($request);
5 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- MySQL: root checking permissions à intervalles réguliers
- Aide SQL regroupement sur datetime...
- pagerank et intervalles de crawl
- aide requete MYSQL
- Requete Mysql AIDE svp !
- Aide pour requête MySQL
- Aide requête MySQL avec count
- Aide php/mysql requête svp
- Aide avec une requette Mysql
- Aide pour une requête MySQL
- Gestion des langues et des sessions en PHP / MySQL - 02-05-2004
- Passage à l'heure d'été/hiver sur un forum phpBB - 31-10-2010
- Le secret des doubles-résultats - 22-10-2004
- Script de mise en cache des pages (PHP MySQL) - 09-08-2010
- GoogleStats : analyse temps réel des visites de Google sur votre site - 02-10-2002
- Une théorie sur la Sandbox de Google - 15-01-2005
- Sortie officielle de GoogleStats v2.0 ! - 23-02-2003
- Keyword Search Engine : le choix des bons mots-clés - 09-08-2004
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
