3
3 열이 country
, user_id
, gender
인 테이블이 있습니다. user_id
그냥 증분, 여러 나라가 있으며 성별은 남성 또는 여성입니다. 나는 국가의 고유 목록, 각 국가의 국가와 남성과 여성의 숫자 user_id
년대의 총 수를 반환하는 하나 개의 쿼리를 실행하려면이MySQL - 국가별로 그룹화 된 남성과 여성의 수를 계산하십시오.
user_id country gender
1 japan male
2 peru female
3 japan female
4 fiji male
5 peru female
유사합니다. 나는 전혀 다른 쿼리의 숫자를 시도했지만 한 쿼리에서 모든 결과를 반환 할 수 없으며, 가능하면이 쿼리를 사용하지 않으
country total male female
peru 2 NUL 2
japan 2 1 1
fiji 1 1 NUL
: 그래서 결과는 같을 것이다.
이 내 마지막 시도입니다 - 나는 그것의 혼란을 알고 있지만 난 아무것도 시도했다 :
이SELECT DISTINCT a.country AS country, COUNT(b.gender) AS male, COUNT(c.gender) AS female, COUNT(a.user_id) AS total
FROM userattributes as a
LEFT JOIN userattributes as b ON a.user_id=b.user_id
LEFT JOIN userattributes as c ON a.user_id=c.user_id
WHERE b.gender='male' AND c.gender='female'
GROUP BY country;
사람이 하나 SELECT
에서 위의 작업을 수행 할 수 있습니까?
들으
+1 (또한 .. 카운트 (사용할 수있는 다음 한 다른 널 (null))) –
@ 알렉스 K. - 그게 내 첫 번째 시도했지만, 난이 예상대로 작동하지 않았다. –