Requete sql
Melooo
Messages postés
1405
Date d'inscription
Statut
Membre
Dernière intervention
-
Séquelle -
Séquelle -
Bonjour,
J'ai une table station (CodeS,nomS, cpS, telmairieS, nbhabS, nbtouristeS, nbskieurS)
et je voudrais avoir le nom des stations dont le nombre de touristes est au moins trois fois plus grand que le nombre d'habitants.
Voici le début de ma requete :
SELECT nomS, SUM (nbtouristeS), SUM (nbhabS)
FROM station
HAVING SUM(nbtouristeS) *3 > SUM(nbhabS)
Je sais que ce n'est pas sa mais j'suis vraiment bloquée pour résoudre cette requête.
Merci de vos réponses
J'ai une table station (CodeS,nomS, cpS, telmairieS, nbhabS, nbtouristeS, nbskieurS)
et je voudrais avoir le nom des stations dont le nombre de touristes est au moins trois fois plus grand que le nombre d'habitants.
Voici le début de ma requete :
SELECT nomS, SUM (nbtouristeS), SUM (nbhabS)
FROM station
HAVING SUM(nbtouristeS) *3 > SUM(nbhabS)
Je sais que ce n'est pas sa mais j'suis vraiment bloquée pour résoudre cette requête.
Merci de vos réponses
A voir également:
- Requete sql
- Logiciel sql - Télécharger - Bases de données
- Sql lister les tables ✓ - Forum Programmation
- Requête bloquée par le pare-feu applicatif claranet webfence ✓ - Forum Réseaux sociaux
- Jointure sql ✓ - Forum MySQL
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
3 réponses
Hello
J'ai fait un exemple de mon coté
Il te faut faire ça
SELECT sum( `nb chats` ) AS nb_chats, sum( `nb lions` ) AS nb_lions
FROM `test4`
HAVING sum( `nb chats` ) >20
LIMIT 0 , 30
Concrètement la req va sommer les chats et les lions, on ne prend que le total chat supérieur à 20. Donc si dans ton résultat tu as un total chat dans une ferme (par exemple) inférieur à 20 tu ne le compterait pas.
Attention, il manque une dimension dans ma requete pour qu'elle soit vraiment parlante.
Quand tu veux filtrer dans une requete avec sommes par exemple, tu ne peux pas utiliser WHERE à n'importe quelles conditions.
Filtrer de plus sur des champs agregés, come c'est ton cas, tu dois utiliser Having.
Le WHERE s'emploierai par exemple pour filtrer un champ non sommé par exemple "nom de ferme"..
Pk tu veux faire SUM(nbtouristeS) *3 ???
Décrit moi ce que tu attends de cette requete et j'essaye de t'aider.
A+
J'ai fait un exemple de mon coté
Il te faut faire ça
SELECT sum( `nb chats` ) AS nb_chats, sum( `nb lions` ) AS nb_lions
FROM `test4`
HAVING sum( `nb chats` ) >20
LIMIT 0 , 30
Concrètement la req va sommer les chats et les lions, on ne prend que le total chat supérieur à 20. Donc si dans ton résultat tu as un total chat dans une ferme (par exemple) inférieur à 20 tu ne le compterait pas.
Attention, il manque une dimension dans ma requete pour qu'elle soit vraiment parlante.
Quand tu veux filtrer dans une requete avec sommes par exemple, tu ne peux pas utiliser WHERE à n'importe quelles conditions.
Filtrer de plus sur des champs agregés, come c'est ton cas, tu dois utiliser Having.
Le WHERE s'emploierai par exemple pour filtrer un champ non sommé par exemple "nom de ferme"..
Pk tu veux faire SUM(nbtouristeS) *3 ???
Décrit moi ce que tu attends de cette requete et j'essaye de t'aider.
A+