@codinghorror의 방식을 더 쉽게 구현하려면 이 데이터 탐색 쿼리를 사용할 수 있습니다:
SELECT
posts.id AS post_id,
posts.topic_id,
COUNT(post_actions.id) as likes
FROM
posts
INNER JOIN
post_actions ON post_actions.post_id = posts.id
AND post_actions.post_action_type_id = 2
WHERE
posts.created_at BETWEEN '2020-01-01' and '2020-01-30'
AND posts.raw LIKE '%upload://%'
AND (posts.raw LIKE '%png%' OR posts.raw LIKE '%jpg%')
GROUP BY 1, 2
ORDER BY 3 DESC
1월에 업로드된 이미지 게시물들을 좋아요 순으로 정렬한 것입니다.