質問されているのは、重複を含まない結果を取得する方法です。どのフィールドについては何も言及されていないので、テキスト型のメインのコメント フィールドであると仮定します。つまり、DISTINCT を使用することはできません。
ただし、このフィールドにはコメントが含まれており、小説に相当するテキストではないため、コメント フィールドをテキスト型にする理由はまったくありません。したがって、フィールドを text 型から varchar 型に変換し、フィールド サイズとして (max) を使用する必要があります。
varchar(max) フィールドは 64k のデータを保持できます。これは、使用されるアルファベットに応じて約 10,000 ~ 20,000 語になります。これは、40 ページのエッセイまたは 1 つのコメントを保持するのに十分なスペースです。
SQLに関しては:
SELECT comment_ID,comment_parent,comment_author,comment_author_url,comment_author_email,comment_content,comment_date,comment_type,ck_rating_up,ck_rating_down
FROM $wpdb->comments
LEFT JOIN $comment_rating_table
ON ($wpdb->comments.comment_ID = $comment_rating_table.ck_comment_id)
WHERE comment_post_ID = $post_id
AND comment_approved = 1
AND comment_ID IN (SELECT DISTINCT( comment_content ) FROM $wpdb->comments
LEFT JOIN $comment_rating_table
ON ($wpdb->comments.comment_ID = $comment_rating_table.ck_comment_id)
WHERE comment_post_ID = $post_id AND comment_approved = 1)
order by comment_id ASC
より高速なオプションは、DISTINCT の代わりに GROUP BY comment_content を使用し、MIN または MAX のいずれかを選択することです
SELECT comment_ID,comment_parent,comment_author,comment_author_url,comment_author_email,comment_content,comment_date,comment_type,ck_rating_up,ck_rating_down
FROM $wpdb->comments
LEFT JOIN $comment_rating_table(
SELECT MAX(comment_id) AS id FROM comment GROUP BY comment_content
maxid ON ($wpdb->comments.comment_ID = $comment_rating_table.ck_comment_id) WHERE comment_post_ID = $post_id AND comment_approved = 1) order by comment_id ASC