반응형
좋아요, 2 개의 테이블이 있습니다.
images votes
---------------------------- --------------------
image_id | name | square_id vote_id | image_id
---------------------------- --------------------
1 someImg 14 1 45
2 newImg 3 2 18
3 blandImg 76 3 1
... ...
n n
이것은 일대 다 관계입니다. 각 이미지는 여러 개의 투표를 가질 수 있지만 투표는 하나의 이미지에만 관련 될 수 있습니다. 이미지 ID와 지정된 조건 (예 : square_id
기반)에서 투표 수를 표시하는 조인 쿼리를 생성하려고합니다. 따라서 쿼리 결과는 다음과 유사합니다.
query_result
----------------------
image_id | vote_count
----------------------
18 46
26 32
20 18
...
55 1
하지만 내가 할 수있는 최선은 이것입니다.
query_result
----------------------
image_id | vote_id
----------------------
18 46
18 45
18 127
26 66
26 43
55 1
문제가 보이십니까? 각 image_id
는 각 vote_id
에 대해 여러 번 나열됩니다. 이것은 이것을 생성하는 쿼리입니다.
SELECT images.image_id, votes.vote_id
FROM votes JOIN images ON images.image_id=votes.image_id
이미지가 가진 모든 투표의 합계 인 vote_count
열을 만들 수없는 것 같습니다. count ()
함수를 사용하여 알 수없는 방법이 있습니까?
해결 방법
GROUP BY images.image_id
가 필요하고 COUNT (votes.vote_id)
를 사용해야합니다.
SELECT images.image_id, COUNT(votes.vote_id) AS cote_count
FROM votes
JOIN images ON images.image_id=votes.image_id
GROUP BY images.image_id
참조 페이지 https://stackoverflow.com/questions/18571270
반응형
'MySql' 카테고리의 다른 글
MySQL mysql ERROR 1396 (HY000)에서 사용자 생성 및 삭제 중 : 작업 CREATE USER (0) | 2020.12.24 |
---|---|
MySQL 한 테이블에서 ID를 선택하고 다른 테이블에서 해당 값을 선택하여 검색하십시오. (0) | 2020.12.24 |
MySQL mysqli_fetch 함수의 차이점 (0) | 2020.12.24 |
MySQL Visual Studio 2013 Preview와 MySQL 데이터베이스 연결 (0) | 2020.12.24 |
MySQL PHP는 선택 상자에서 선택한 값을 얻습니까? (0) | 2020.12.24 |
댓글