Gestion doublons group by & order by [Résolu]

Signaler
Messages postés
3
Date d'inscription
mercredi 17 mars 2004
Statut
Membre
Dernière intervention
9 septembre 2007
-
cs_yazer
Messages postés
3
Date d'inscription
mercredi 17 mars 2004
Statut
Membre
Dernière intervention
9 septembre 2007
-
voila, je souhaite sélectionner le company_id correspondant au company_id de ayant le date_embauche le plus élevé chaque user_id

par exemple :
company_id   user_id   date_embauche
1                    2            12/02/2007
2                    2            10/01/2005
3                    3            11/02/2006
4                    3            13/07/2007

je souhaite comme résultat de la requête :
1
4

j'ai essayé la requête suivante :
SELECT company_id
FROM xoops_company
WHERE 1
GROUP BY user_id
ORDER BY date_embauche ASC

mais elle me renvoie 1 & 3

4 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
24
Salut,

Il y a peut etre plus simple,

mais voici une solution de secours

select company_id
from Table1
where date_embauche in(
select max(date_embauche)
from Table1
group by user_id)

Testé sous access

Bon courage
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
24
Salut

Un petit group by et un max et having devrait resoudre le probleme.

select company_id
from matable
group by user_id
having max(date_embauche)

A tester

Bon courage
Messages postés
3
Date d'inscription
mercredi 17 mars 2004
Statut
Membre
Dernière intervention
9 septembre 2007

non, désolé. je viens de faire la modif que tu me conseilles et la requete ne renvoie aucun enregistrement.

SELECT company_id FROM xoops_company WHERE1 GROUP BY user_id HAVING MAX(date_embauche)
Messages postés
3
Date d'inscription
mercredi 17 mars 2004
Statut
Membre
Dernière intervention
9 septembre 2007

merci pour ton aide nhervagault ! je suis sous mysql et ça fonctionne aussi...je vais pouvoir continuer ..allez au boulot!!