PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 28-08-2012 11:11:01

ebouilleur
Membre
Lieu : Nantes
Inscription : 19-05-2009
Messages : 165
Site Web

Comparaison de 2 requetes

Bonjour,

Par erreur j'ai écris la requete suivante :


SELECT DISTINCT nombre FROM incident_hebdo
WHERE problemstatus IN ('Fermé')
AND Priority  = 3
AND AppelType = 'Demande'
AND ProblemAssignement IN (SELECT Equipe FROM EquipeLocaleInformatique)
GROUP BY Nombre, ProblemAssignement
AND
updatetime BETWEEN '2012-08-20 00:00:00' AND '2012-08-25 00:00:00'
 

Qui me sortie 124 enregistrements.
Puis j'ai vu que mon GROUP BY n'était pas à la fin, j'ai donc corrigé en :


SELECT DISTINCT nombre FROM incident_hebdo
WHERE problemstatus IN ('Fermé')
AND Priority  = 3
AND AppelType = 'Demande'
AND ProblemAssignement IN (SELECT Equipe FROM EquipeLocaleInformatique)
AND updatetime BETWEEN '2012-08-20 00:00:00' AND '2012-08-25 00:00:00'
GROUP BY Nombre, ProblemAssignement
 

Et la surprise, j'ai plus que 94 enregistrements.
Donc, j'en conclu que ce n'est pas la meme requete ^^
Le GROUP BY est pas sensé etre tjs a la fin?
Et du coup quelle est la différence entre mes 2 requetes?

Merci

Hors ligne

#2 28-08-2012 13:19:26

ebouilleur
Membre
Lieu : Nantes
Inscription : 19-05-2009
Messages : 165
Site Web

Re : Comparaison de 2 requetes

En fait, je m'auto répond
Le "updatetime BETWEEN '2012-08-20 00:00:00' AND '2012-08-25 00:00:00'" de la 1ere requete n'est pas du tout pris en compte ^^

Hors ligne

#3 28-08-2012 14:52:49

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Comparaison de 2 requetes

Saluton,
La première requête ne devrait pas retourner autre chose qu'un message d'erreur du SGBDR.
A moins que MySQL considère que

ProblemAssignement
AND
updatetime BETWEEN '2012-08-20 00:00:00' AND '2012-08-25 00:00:00'

constitue le second membre du GROUP BY.
Ce serait surprenant mais MySQL est parfois déroutant.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#4 19-09-2012 11:40:38

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Comparaison de 2 requetes

Bonjour,

Essaye de mettre ProblemAssignement dans ton SELECT, je pense qu'il pourrait y avoir de ça aussi wink
Et le GROUP BY se met en dernier, car si tu mets des conditions du WHERE après le GROUP BY, elles ne peuvent plus faire partie de la clause WHERE mais doivent faire partie à ce moment là d'une clause HAVING. Il s'agit là du standard.

Dernière modification par Jc (19-09-2012 11:42:21)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

Pied de page des forums