SELECT mon.MONTH(CREATED_AT), p.NAME, cnt.COUNT(*)
FROM (
SELECT MONTH(CREATED_AT), PLACE_ID, MAX(ID)
FROM PLACE_REVIEWS
WHERE CREATED_AT BETWEEN '2018-01-01' AND '2018-12-31'
GROUP BY MONTH(CREATED_AT)
) AS mon
LEFT JOIN PLACES AS p
ON mon.PLACE_ID = p.ID
LEFT JOIN (
SELECT PLACE_ID, COUNT(*)
FROM PLACE_REVIEWS
GROUP BY PLACE_ID
) AS cnt
ON mon.PLACE_ID = cnt.PLACE_ID
ORDER BY mon.MONTH(CREATED_AT), p.NAME;
syntax checker 돌려보니까 You have an error in your SQL syntax; it seems the error is around: '*)
FROM
(
SELECT
MONTH(CREATED_AT),
PLACE_ID,
MAX(ID)
' at line 4 나오는데
from 안쪽에 있는거만 빼서 돌려보면 또 에러 안뜨고
ㅅㅂ 뭘잘못한거지
맨처음 서브쿼리부분에 그룹바이를 날짜만해서 그런거아닌가요?
그것만 따로 검사해보면 또 에러가 안나던데... 왜이러지
저도 저랬었는데 month(mon.created_at) 해야함