Un PRO du SQL pour m’expliquer mon erreur?
11 messages
Mise à jour: il y a 8 mois
AllezPasEnInfo
il y a 8 mois
Je serais éternellement reconnaissant à la personne qui me répondra
AllezPasEnInfo
il y a 8 mois
J'up le topic
KheyTarax
il y a 8 mois
Indice : "Une mauvaise programmation, engendre des erreurs !"
AllezPasEnInfo
il y a 8 mois
Allez les clés un peu d'aide s'il vous plaît
AllezPasEnInfo
il y a 8 mois
les clés veulent pas m'aider
Nuagedecube
il y a 8 mois
La première renverra toutes les lignes sans spécifier un nombre défini contrairement à la deuxième qui renverra le nombre de vote supérieur ou égal à 100000
11aa22bb33cc
il y a 8 mois
Le tri ne s'effectue pas sur la même couche
Mr-Gl0usse
il y a 8 mois
Ton premier code renvoie le nombre exact de films qui ont au moins 100 000 votes, où la condition WHERE num_votes >= 100000 filtre les lignes avant de compter, donc le résultat sera le nombre de films qui ont au moins 100 000 votes et ta seconde renvoie le nombre total de films parce qu'elle compte les évaluations de la condition plutôt que de filtrer les lignes
C'est parce que ton COUNT(num_votes >= 100000) va compter toutes les lignes, parce que l'expression num_votes >= 100000 retourne une valeur booléenne pour chaque ligne
Vu que TRUE est traité comme 1 et FALSE comme 0, cette requête compte en fait le nombre de lignes dans la table reviews, car toutes les lignes (y compris celles où num_votes est inférieur à 100 000) seront comptées, mais sous forme de 0 ou 1
AllezPasEnInfo
il y a 8 mois
La première renverra toutes les lignes sans spécifier un nombre défini contrairement à la deuxième qui renverra le nombre de vote supérieur ou égal à 100000
Pourtant, j'ai un nombre plus petit avec la première
AllezPasEnInfo
il y a 8 mois
Ton premier code renvoie le nombre exact de films qui ont au moins 100 000 votes, où la condition WHERE num_votes >= 100000 filtre les lignes avant de compter, donc le résultat sera le nombre de films qui ont au moins 100 000 votes et ta seconde renvoie le nombre total de films parce qu'elle compte les évaluations de la condition plutôt que de filtrer les lignesC'est parce que ton COUNT(num_votes >= 100000) va compter toutes les lignes, parce que l'expression num_votes >= 100000 retourne une valeur booléenne pour chaque ligne
Vu que TRUE est traité comme 1 et FALSE comme 0, cette requête compte en fait le nombre de lignes dans la table reviews, car toutes les lignes (y compris celles où num_votes est inférieur à 100 000) seront comptées, mais sous forme de 0 ou 1
Merci clé tu gères!
AllezPasEnInfo
il y a 8 mois