Problème de requête SQL

Par Boobha, il y a 13 ans


Base de données MySQL

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

William_LF, il y a 13 ans

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, il y a 13 ans

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.

@++

ice, il y a 13 ans

Salut,

Tout simplement ça :)

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