댓글에 좋아요가 0개인데도 젤 첫번째 댓글이 베스트 댓글로 선정돼요
→ 최소 좋아요 수 정해서 쿼리 바꾸기
@Query(value = """
SELECT c.* FROM comments c
LEFT JOIN reactions r ON c.id = r.target_id AND r.type = :reactionType
WHERE c.post_id = :postId
GROUP BY c.id
HAVING COUNT(r.id) >= :minLikes
ORDER BY COUNT(r.id) DESC, c.created_at ASC
LIMIT 1
""", nativeQuery = true)
Optional<Comment> findTopByPostIdAndReactionType(@Param("postId") Long postId,
@Param("reactionType") String reactionType,
@Param("minLikes") long minLikes);
Java
복사
having 절을 추가해서 최소 좋아요 수를 설정했다.