OVH Cloud OVH Cloud

Sélection parmi un groupe

2 réponses
Avatar
Philippe
Bonjour,
je cherche à sélectionner dans une table d'événements datés relatifs à une
clef, celui qui pour chaque clef à la plus forte date:

K1 12/01/04 'Beau temps'
K1 17/01/04 'Pluie'
K1 15/01/04 'Neige'
K2 23/01/04 'Brouillard'
K2 25/01/04 'Soleil'

Je veux récupérer

K1 17/01/04 'Pluie'
K2 25/01/04 'Soleil'

Merci pour une solution élégante

Philippe

2 réponses

Avatar
Fred BROUARD
1) retrouver la date max pour chaque groupe :

SELECT Max(MaDate), Klef
FROM MaTable
GROUP BY Klef

2) sélectionner les événements relatif à cette dat max :

SELECT *
FROM MaTable T1
WHERE EXISTS (SELECT *
FROM MaTable T2
WHERE T1.Klef = T2.Klef
AND T1.MaDate = (SELECT Max(MaDate)
FROM MaTable T3
WHERE T3.Klef = T1.Klef
GROUP BY Klef))

A +


--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************

Philippe a écrit:
Bonjour,
je cherche à sélectionner dans une table d'événements datés relatifs à une
clef, celui qui pour chaque clef à la plus forte date:

K1 12/01/04 'Beau temps'
K1 17/01/04 'Pluie'
K1 15/01/04 'Neige'
K2 23/01/04 'Brouillard'
K2 25/01/04 'Soleil'

Je veux récupérer

K1 17/01/04 'Pluie'
K2 25/01/04 'Soleil'

Merci pour une solution élégante

Philippe




Avatar
Michel Walsh
Salut,


SELECT a.site, a.LaDate, a.LaDescription
FROM mytable As a INNER JOIN maTable As b
ON a.site=b.site
GROUP BY a.site, a.LaDate, a.LaDescription
HAVING a.LaDate=MAX(b.LaDate)



Espérant être utile,
Vanderghast, Access MVP





"Philippe" wrote in message
news:%
Bonjour,
je cherche à sélectionner dans une table d'événements datés relatifs à


une
clef, celui qui pour chaque clef à la plus forte date:

K1 12/01/04 'Beau temps'
K1 17/01/04 'Pluie'
K1 15/01/04 'Neige'
K2 23/01/04 'Brouillard'
K2 25/01/04 'Soleil'

Je veux récupérer

K1 17/01/04 'Pluie'
K2 25/01/04 'Soleil'

Merci pour une solution élégante

Philippe