Bonjour,

Je me casse la tête pour un truc tout bête si ça se trouve ...

Ma base :

id items date_mod
5 202 2012-06-13 10:00:00
4 202 2012-06-13 09:55:00
3 202 2012-06-13 09:54:00
2 201 2012-06-13 09:50:00
1 201 2012-06-13 08:25:00

En fait, je voudrais ressortir tous les enregistrements où "items" est unique et où la date est la plus ancienne.
J'ai essayé pas mal de chose sans succès :/ (DISTINCT, ORDER BY, MIN etc ...) mais je dois mal m'y prendre ...

CAD :

id items date_mod
3 202 2012-06-13 09:54:00
1 201 2012-06-13 08:25:00

Voila si vous avez une idée je suis preneur !
Merci d'avance

See you :)

3 réponses


Salut,

après rapide réflexion, je te le conseille en 2 étapes (même si c'est surement possible en 1 seule) :

<u>Etape 1 :</u>

Tu vas chercher l'ensemble des ids :

SELECT DISCTINCT id FROM table;

<u>Etape 2 :</u>

Tu boucles sur les résultats de la première étape avec la commande suivante :

SELECT MAX(date_mod) FROM table WHERE id=$currentID;

C'est pas du tout opti mais c'est une solution qui peut te faire avancer.

Ciao

Boobha
Auteur

Salut Orijin et merci d'avoir répondu.

Effectivement, c'est faisable en deux fois mais l'idée était justement de voir si c'était possible en une seule requête.

@++

Salut,

Tout simplement ça :)

SELECT id, items, MIN( date_mod ) 
FROM table
GROUP BY items