나는 COUNT()
메서드를 사용하여 uid
의 u.id를 가진 두 테이블의 행을 확인합니다. 잘못된 행 수를 반환하는 COUNT()
SELECT u.id, u.first_name, u.last_name, u.email, u.username, COUNT(q.uid) AS `q_count`, COUNT(a.uid) AS `a_count`
FROM `users` AS u
INNER JOIN `questions` AS q ON u.id = q.uid
INNER JOIN `answers` AS a ON u.id = a.uid
WHERE u.username = 'admin'
그러나, 두 번째 수는 첫 번째 계수에 대한 행의 수가 동일한 행 수를 반환합니다. 두 번째 테이블은 questions
테이블에 두 개의 행이 있고 answers
테이블에 하나의 행이있을 때 두 번째 테이블도 첫 번째 테이블에서 두 번째 테이블이 반환되는 것을 알고 있습니다.
어디에서 잘못 될지 알려주실 수 있습니까?
감사
의 샘플 내가 받고 오전 :
answers
에서
http://d.pr/i/vcnJ
샘플 데이터 : questions
에서 http://d.pr/i/TMkU
샘플 데이터 : http://d.pr/i/tuwU
감사합니다, 또는 그냥 두 개의 개별 쿼리를 실행해야합니다
이 시도? 하나는'users'와'count()'중 하나에서 데이터를 검색하고, 다른 하나는 두 번째 조사를 검색하는 것입니다. –
제공된 코드를 보내 주셔서 감사합니다.하지만 질문에서 제공 한 쿼리와 동일한 'count()'결과를 반환합니다. –
@max_ 샘플 데이터를 제공 할 수 있습니까? – fancyPants