Sql : Group by et count
Résolu/Fermé
velderama
Profil bloqué - 11 mars 2011 à 11:58
- Messages postés
- 199
- Date d'inscription
- mardi 26 février 2008
- Statut
- Membre
- Dernière intervention
- 11 mai 2011
Profil bloqué - 11 mars 2011 à 11:58
4 réponses
termgsi
11 mars 2011 à 10:43
- Messages postés
- 678
- Date d'inscription
- vendredi 5 juin 2009
- Statut
- Membre
- Dernière intervention
- 3 novembre 2016
11 mars 2011 à 10:43
Bonjour,
Ta requête est bonne.
Ta requête est bonne.
velderama
11 mars 2011 à 10:55
- Messages postés
- 199
- Date d'inscription
- mardi 26 février 2008
- Statut
- Membre
- Dernière intervention
- 11 mai 2011
11 mars 2011 à 10:55
merci termgsi :)
Si je peux me permettre une dernière question :
dans la table TA j'ai des dates et j'aimerai calculer la dernière date de modification
la table TA : TA(idta,nomta,derniereMisAjour)
ce qui donne :
Je crains comme j'ai fait que la date calculée ne soit que la derniere date quand je fais mon groupement...Qu'en pensez-vous ?
Si je peux me permettre une dernière question :
dans la table TA j'ai des dates et j'aimerai calculer la dernière date de modification
la table TA : TA(idta,nomta,derniereMisAjour)
ce qui donne :
select TB.nomitdb,count(TA.idta) as nombreTA, TA.derniereMisAjour from TA,TB,TAB where TA.idta =TAB.idta2 and TB.idtb = TAB.idtb2 group by TB.idtb
Je crains comme j'ai fait que la date calculée ne soit que la derniere date quand je fais mon groupement...Qu'en pensez-vous ?
Change avec ceux-ci :
select TB.nomitdb,count(TA.idta) as nombreTA, MAX(TA.derniereMisAjour)
from TA,TB,TAB
where TA.idta =TAB.idta2 and TB.idtb = TAB.idtb2
group by TB.idtb
Pour avoir la dernière il faut mettre l'opérateur MAX devant qui te retournera la derniere mise à jour la plus haute donc la derniere
select TB.nomitdb,count(TA.idta) as nombreTA, MAX(TA.derniereMisAjour)
from TA,TB,TAB
where TA.idta =TAB.idta2 and TB.idtb = TAB.idtb2
group by TB.idtb
Pour avoir la dernière il faut mettre l'opérateur MAX devant qui te retournera la derniere mise à jour la plus haute donc la derniere
termgsi
11 mars 2011 à 11:25
- Messages postés
- 678
- Date d'inscription
- vendredi 5 juin 2009
- Statut
- Membre
- Dernière intervention
- 3 novembre 2016
11 mars 2011 à 11:25
Je ne comprens pas bien ce que tu veux dire par calculé la dernière date de modif
velderama
11 mars 2011 à 11:26
- Messages postés
- 199
- Date d'inscription
- mardi 26 février 2008
- Statut
- Membre
- Dernière intervention
- 11 mai 2011
11 mars 2011 à 11:26
merci :)
Elle n'est pas bonne la requête!!!
Il y a une erreur dans le "where"
Change ça : where TA.idta =TAB.idta2 and TB.idtb = TAB.idtb2 par ça : where TA.idta =TAB.idta and TB.idtb = TAB.idtb
Mais ton association qui devient une table est fausse!!!
Ta table doit être ceux-ci : TAB (idta,idtb,toto,...)
Il y a une erreur dans le "where"
Change ça : where TA.idta =TAB.idta2 and TB.idtb = TAB.idtb2 par ça : where TA.idta =TAB.idta and TB.idtb = TAB.idtb
Mais ton association qui devient une table est fausse!!!
Ta table doit être ceux-ci : TAB (idta,idtb,toto,...)
velderama
11 mars 2011 à 11:31
- Messages postés
- 199
- Date d'inscription
- mardi 26 février 2008
- Statut
- Membre
- Dernière intervention
- 11 mai 2011
11 mars 2011 à 11:31
Mais dans la "table de liaison" , que je n'ai pas créer au passage, je n'ai pas les attributs idta... j'ai juste juste idta2 et idtb2 qui sont les clés primaires de cette table TAB...
Merci pour vos remarque!
Merci pour vos remarque!
velderama
11 mars 2011 à 11:35
- Messages postés
- 199
- Date d'inscription
- mardi 26 février 2008
- Statut
- Membre
- Dernière intervention
- 11 mai 2011
11 mars 2011 à 11:35
win'design
velderama
11 mars 2011 à 11:41
- Messages postés
- 199
- Date d'inscription
- mardi 26 février 2008
- Statut
- Membre
- Dernière intervention
- 11 mai 2011
11 mars 2011 à 11:41
j'ai mis les tables dans ma photo de profil ;)
velderama
11 mars 2011 à 11:46
- Messages postés
- 199
- Date d'inscription
- mardi 26 février 2008
- Statut
- Membre
- Dernière intervention
- 11 mai 2011
11 mars 2011 à 11:46
Sujet fermé, Merci à tout le monde ;)