Dernier enregistrement dans une liste selon un ID.

Signaler
Messages postés
964
Date d'inscription
mercredi 28 mai 2008
Statut
Contributeur
Dernière intervention
13 juin 2012
-
Messages postés
302
Date d'inscription
samedi 24 janvier 2004
Statut
Membre
Dernière intervention
4 février 2011
-
Bonjour,

Je cherche à faire une requête SQL qui me permettrait, selon des ID choisis, de m'afficher le dernier commentaire correspondant à cet ID.

En fait j'ai des ID qui peuvent être plusieurs fois les même (je peux avoir une fois 1, trois fois 2, deux fois 3, etc ... )

Pour chaque ID j'ai un commentaire.

Par exemple :

ID 1 : Commentaire 1
ID 2 : Commentaire 2
ID 2 : Commentaire 3
ID 2 : Commentaire 4
ID 3 : Commentaire 5
ID 3 : Commentaire 6
etc ...

Et donc pour un ID choisi (dans un WHERE ID = 'x' ) je voudrais afficher le dernier commentaire.

Ici je voudrais afficher :

ID 1 : Commentaire 1
ID 2 : Commentaire 4
ID 3 : Commentaire 6
etc ...

J'espère avoir été assez clair ...

Merci d'avance pour vos réponses  =)

Bonne journée à tous

9 réponses

Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
29
Salut,

SELECT * FROM table_commentaire WHERE id=x ORDER BY id DESC;

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
964
Date d'inscription
mercredi 28 mai 2008
Statut
Contributeur
Dernière intervention
13 juin 2012

Merci pour ta réponse mais cela m'affiche tous les commentaires de chaque ID, et moi je ne veux que le dernier commentaire de chaque ID.

Tu as une idée?
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
29
re,

Excuse moi, j'avais oublié le LIMIT !

SELECT * FROM table_commentaire WHERE id=x ORDER BY id DESC LIMIT 1;

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
964
Date d'inscription
mercredi 28 mai 2008
Statut
Contributeur
Dernière intervention
13 juin 2012

J'y avais pensé (sauf que dans mon cas c'est SELECT TOP 1  )

Le seul problème c'est que cela ne m'affiche qu'un résultat (le dernier de la table logiquement) or je voudrais qu'il m'affiche chaque ID une fois avec le dernier commentaire associé.

J'ai pensé à utilisé une sous-requête maisje n'ai pas de meilleurs résulats

Tu aurais une autre idée
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
29
Ba je ne sais pas alors...

a++

PS : si ta requête est associé a un script php, peut être qu'il y a une solution...

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
964
Date d'inscription
mercredi 28 mai 2008
Statut
Contributeur
Dernière intervention
13 juin 2012

Non, c'est bien le problème ... Il faut que je fasse avec seulement du SQL ...

Mais merci de ton aide quand même.
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
29
ok, desolé,

Si j'ai du nouveau je viens te voir...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
31
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
17 mai 2011

Je sais pas si ca peut t'aider ou pas :


SELECT id, MAX(commentaire)
FROM Table
GROUP BY id
Messages postés
302
Date d'inscription
samedi 24 janvier 2004
Statut
Membre
Dernière intervention
4 février 2011

I l faut obligatoirement associer un autre champs pour pouvoir faire cette requète. Peut-être un champ date de mise a jour ou de création!!