Bonjour,
J'ai un petit souci avec MySQL.
Quelqu'un pourrait-il m'expliquer la différence entre ces deux requêtes ? En effet, elles ne me retournent pas le même résultat et je ne comprends pas pourquoi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 SELECT a.nom AS nom, a.prenom AS prenom, b.age AS age, c.domicile AS domicile, v.voiture_name AS nomVoiture, count(*) AS count FROM personne a JOIN info b ON a.id = b.id_personne JOIN maison c ON a.id = c.id_personne JOIN voiture v ON a.id = v.id_conducteur GROUP BY nom, prenom, age, domicile, nomVoiture;
Les tables ont été change pour plus de clarté. J'en ai peut-être laisse passer une, mais dans les requêtes originales, il n'y a pas d'erreurs de typo.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 SELECT tmp.nom, tmp.prenom, tmp.age, tmp.domicile, tmp.nomVoiture count(*) AS count FROM (SELECT a.nom AS nom, a.prenom AS prenom, b.age AS age, c.domicile AS domicile, v.voiture_name AS nomVoiture, FROM personne a JOIN info b ON a.id = b.id_personne JOIN maison c ON a.id = c.id_personne JOIN voiture v ON a.id = v.id_conducteur) tmp GROUP BY tmp.nom, tmp.prenom, tmp.age, tmp.domicile, tmp.nomVoiture;
Si j'enlève le GROUP BY de la première requête, je retrouve le bon résultat. Sachant aussi après enquête que le GROUP BY du premier me fait disparaitre des enregistrements alors qu'il n'y a pas lieu d'être.
Merci d'avance !
Oodzee.
Partager