web-dev-qa-db-ja.com

このSELECTクエリで重複した投稿を除外する

特定のカテゴリから指定された数の投稿を取得し、それらを最新のコメントの順序で表示するこのカスタム選択クエリがあります。問題は、投稿に最新のコメントが両方ともある場合、投稿が2回表示されることです。どういうわけか重複した投稿を検出して除外し、最新のコメントのみを表示したいと思います。

$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";

何か案は?

2
Pippin

削除する

DISTINCT

そして加えなさい

GROUP BY $wpdb->posts.ID

oRDER BYの前

1
Marcin