Un résultat en trop dans ma requête - SQL/NoSQL - Programmation
Marsh Posté le 24-08-2010 à 10:39:03
99,99% de chances que tu aies tout simplement au moins une ligne "vide" dans ta table, où "continent" n'a pas de valeur (et probablement population aussi vu que la somme te retourne 0).
Essaies un SELECT COUNT(*) FROM base WHERE continent IS NULL
Edit: sinon tu peux modifier ta requete pour ignorer la ligne en trop:
SELECT SUM(population),continent FROM base GROUP BY continent HAVING SUM(population)>0
ou bien
SELECT SUM(population),continent FROM base WHERE continent IS NOT NULL GROUP BY continent
Mais en théorie c'est mieux si tu "corriges" tes données en base.
Marsh Posté le 24-08-2010 à 16:54:01
Merci ! Heureuse de voir que mon code fonctionne, en fait une ligne vide s'était glissée toute à la fin de ma base, je ne l'avais pas vu celle là...
Marsh Posté le 24-08-2010 à 09:40:27
Bonjour,
J'ai une table sur la population de chaque pays du monde avec un champs continent. Je souhaiterais faire des calculs (somme, moyenne...) sur les populations par continents et pour cela voici un exemple de requête :
Ceci me permet bien de renvoyer la somme de la population de chaque continent sous forme de tableau. Mais le problème est qu'une ligne s'insère avec pour population 0 et rien en continent...
Population Continent
0
952025364 afrique
977498520 ameriques
1500 antarctique
3920751407 asie
709565899 europe
36832649 oceanie
Ma question : auriez vous une idée de ce qui produit cette première ligne ? Une erreur dans ma requête ne serait pas étonnante... Un problème dans ma table ?
Merci par avance,