products.Id, products.name, categories.name, image_urls.url을 셀렉트하였다고 가정해보았습니다. 이 데이터가 이상해보이는 이유는 imageUrl이 3개 인 바나나가 데이터가 3번 나타났기 때문입니다.
imageUrl을 배열로 묶으면 해결 될 것입니다.
SELECT . . JSON_ARRAYAGG(image_urls.url) . . GROUP BY products.id
배열을 만드는 부분만 작성해보았습니다.
SELECT JSON_ARRAYAGG(테이블.칼럼) GROUP BY (기준이 되는 테이블.칼럼)
조건을 여러개 붙일 때 주의해야할 점이 있습니다. 문법에 맞게 조건의 순서를 정리하는 것입니다.
where을 먼저 적어주고 group by를 적습니다.
order by를 마지막에 오게 합니다.
3가지를 같이 쓰게 될 경우에는 이렇게 표현합니다.
where ... group by ... order by ....