web-dev-qa-db-fra.com

Exclure les messages en double dans cette requête SELECT

J'ai cette requête de sélection personnalisée qui extrait un nombre spécifié de publications d'une catégorie spécifique et les affiche dans l'ordre des derniers commentaires. Le problème est que si un article contient les deux derniers commentaires, il sera affiché deux fois. Je voudrais qu'il détecte en quelque sorte les messages en double et les exclue, en ne montrant que le commentaire le plus récent.

$sql =
"SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID,
    comment_author, comment_date, comment_approved, comment_type,comment_author_url,
    SUBSTRING(comment_content,1,100) AS com_excerpt
FROM $wpdb->term_taxonomy as t1, $wpdb->posts, $wpdb->term_relationships as r1, $wpdb->comments
WHERE comment_approved = '1'
   AND comment_type = ''
   AND ID = comment_post_ID
   AND post_password = ''
   AND ID = r1.object_id
   AND r1.term_taxonomy_id = t1.term_taxonomy_id
   AND t1.taxonomy = 'category'
   AND t1.term_id IN ($inlist)
ORDER BY comment_date DESC LIMIT 4";

Des idées?

2
Pippin

Retirer

DISTINCT

Et ajouter

GROUP BY $wpdb->posts.ID

avant 'ORDER BY'

1
Marcin