MagicBuzz a écrit :
1) Vire le ID qui est dans ta requête, et ça marchera.
PS: un distinct porte sur TOUS les champs retournés. Ce sont les tuples qui sont uniques.
2) Si tu as besoin de l'ID (pour faire je ne sais quoi), on va dire par exemple que tu veux uniquement le dernier. La requête devient :
select r1.titre, max(r2.id)
from revue r1, revue r2
where r2.titre = r1.titre
group by r1.titre
|
Testé dans une vraie base, ça marche sans aucun problème.
Par contre, c'est très lent (22 secondes pour une table de 7700 lignes), je te conseille de bien positionner tes indexes (dans mon cas, y'avais aucun index utilisable pour la requête, ça explique en partie la lenteur )
|