반응형
연결된 테이블에서 아이들의 총 레코드를 가져옵니다.
MariaDB 5.5를 사용하고 있지만 이 솔루션은 MySQL과 동일합니다.테이블이 두 개 있는데, 첫 번째 테이블에는 갤러리가 포함되어 있고 두 번째 테이블에는 각 갤러리 내의 파일에 대한 정보가 포함되어 있습니다.이것은 표의 예시입니다.gallery
:
+----+-------+-----+
| id | name | ... |
+----+-------+-----+
| 1 | test1 | ... |
| 2 | test2 | ... |
| 3 | test3 | ... |
| 4 | test4 | ... |
+----+-------+-----+
이것은 표의 예시입니다.gallery_items
:
+----+------+------------+-----+
| id | file | gallery_id | ... |
+----+------+------------+-----+
| 1 | img1 | 3 | ... |
| 2 | img2 | 2 | ... |
| 3 | img3 | 2 | ... |
| 4 | img4 | 1 | ... |
+----+------+------------+-----+
그래서 나는 이 코드를 시도했다.
SELECT gallery.*, COUNT(gallery_items.id) AS items FROM gallery JOIN gallery_items WHERE gallery_items.gallery_id = gallery.id;
음, 저는 데이터베이스를 잘 다루지 못하기 때문에 도움을 청하는 거예요.예상한 결과는 다음과 같습니다.
+----+-------+-------+-----+
| id | name | items | ... |
+----+-------+-------+-----+
| 1 | test1 | 1 | ... |
| 2 | test2 | 2 | ... |
| 3 | test3 | 1 | ... |
| 4 | test4 | 0 | ... |
+----+-------+-------+-----+
할 필요가 있다GROUP BY
을 위해COUNT
일하기 위해
SELECT gallery.*, COUNT(gallery_items.id) AS items FROM gallery
LEFT JOIN gallery_items ON gallery_items.gallery_id = gallery.id
GROUP BY gallery.id, gallery.name
설명 다음 쿼리를 사용할 수 있습니다.
SELECT
g.*,COUNT(gi.id) AS items
FROM
gallery g
LEFT JOIN gallery_items gi
ON g.id = gi.gallery_id
GROUP BY g.id;
언급URL : https://stackoverflow.com/questions/39826009/get-total-records-of-children-from-connected-table
반응형
'programing' 카테고리의 다른 글
VueJS v-if = 어레이[인덱스]가 작동하지 않음 (0) | 2022.09.30 |
---|---|
"X11 DISPLAY 변수 없음" - 무슨 뜻입니까? (0) | 2022.09.29 |
Mac OS X에 MySQLdb(Python Data Access Library to MySQL)를 설치하는 방법 (0) | 2022.09.29 |
숫자의 정수와 십진수를 구하는 방법은? (0) | 2022.09.29 |
Python에서 현재 날짜와 시간으로 파일 이름을 만드는 방법은 무엇입니까? (0) | 2022.09.29 |