SQL : DISTINCT => Problème [Résolu]

Signaler
Messages postés
43
Date d'inscription
samedi 15 juin 2019
Statut
Membre
Dernière intervention
30 décembre 2019
-
onequokka
Messages postés
43
Date d'inscription
samedi 15 juin 2019
Statut
Membre
Dernière intervention
30 décembre 2019
-
Bonsoir,
Je bloque sur une requête SQL, si quelqu'un pouvait me sauver :
Pour faire simple : je cherche à récupérer la liste des titres de mes articles, ordonnés par les réponses. (en gros faire la liste des derniers articles ou l'on a répondu)
SELECT DISTINCT topics.title FROM topics INNER JOIN topic_answer ON topics.id = topic_answer.topic_id ORDER BY topic_answer.id DESC LIMIT 0,8

Mais cela ne marche pas, ca ne me renvoie que les derniers articles ...

Sauf que si j'enlève le DISTINCT j'ai bien ce que je vais, dans le bon ordre, mais avec la duplication d'articles ...
(10.1.41-MariaDB-0+deb9u1)
Merci beaucoup !

1 réponse

Messages postés
9412
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 janvier 2020
499
bonjour, tu veux obtenir la liste des derniers articles ou l'on a répondu, et puis tu écris que cela ne marche pas, que cela retourne que les derniers articles.
peux-tu être plus précis? pourquoi ne pas nous montrer ce que retourne la requête, avec et sans distinct, et, également, le résultat attendu?

je crois peut-être comprendre: avec le distinct, tu obtiens moins de 8 résultats, c'est cela?

alors j'essaierais d'abord ceci:
SELECT topic_id FROM topic_answer group by topic_id order by max(id) desc limit 0,8

cela retourne-t-il les 8 id des articles qui t'intéressent?
onequokka
Messages postés
43
Date d'inscription
samedi 15 juin 2019
Statut
Membre
Dernière intervention
30 décembre 2019
3
Effectivement le group by fonctionne mieux merci.
Le problème était que le distinct supprimait le filtre d'ordre sur MariaDB.