현재 3 개의 쿼리가 있습니다. PHP에서, 우리는 첫 돌이, 다음 2를 여러 번 실행하고있는 나는 하나 개의 쿼리에서 가지고 싶습니다여러 테이블에서 계산되는 MySQL 쿼리
이첫 번째 쿼리는 다음과 같습니다 그 동안 루프 내부에 그런
SELECT id FROM users
결과는 두 번째가
SELECT id AS rid, count(recommendedById) FROM users WHERE id=$id
입니다. 여기서 $ id는 첫 번째 쿼리의 users.id입니다. 제 3 질의 2 루프 내에서 실행된다
이다 :
SELECT count(likes) AS likeCounter FROM posts WHERE author_id=$rid
및 likeCounter 처음 쿼리 표현된다.
누구든지 이것을 하나의 쿼리로 가져올 수 있습니까?
원하는 결과 이 결과는 그가 추천 사용자의 수와 그의 추천 사용자가 자신의 게시물에있어 좋아의 합으로 사용자 당 행 수 있어야합니다.
SELECT u.id AS rid, count(recs.id), count(p.likes) AS likeCounter
FROM users u
LEFT JOIN posts p ON p.author_id=u.id
LEFT JOIN users recs ON recs.recommendedById=u.id
GROUP BY u.id
을하지만 사용자가 ID를 가지고, 당신은 users
테이블에서 id
를 사용
최종 결과는 무엇입니까? 하나의 값이 합계입니까? 또는 각 사용자별로 별도로 계산합니까? –
결과는 권장 사용자 수와 권장 사용자가 게시물에 올린 사용자의 합계가있는 사용자 당 행이어야합니다. 위의 내용을 추가하겠습니다. –