2013-01-31 2 views
0

가 좋아 내가 두 개의 테이블이 있습니다계수와 다른 테이블에 같은 이름의 열을 그룹화 (MySQL의)

id age gender 
1 10 M 
2 11 F 
3 11 F 

그리고 표 2는 다음과 같이 (다른 값과 같은) 같습니다 : 표 1은 다음과 같습니다

age count 
10 2 
11 3 
12 1 

ㅁ :

id age gender 
1 11 F 
2 12 M 
3 10 M 

지금 내 최종 출력은 다음과 같이 할 이걸 달성하는 가장 효율적인 방법은 무엇입니까?

+0

당신이 '가장 효율적인 방법'을 알고 싶어, 아니면 그냥 '하는 방법을'? – Strawberry

+0

http://stackoverflow.com/questions/725556/how-can-i-merge-two-mysql-tables에있는 방법 중 하나를 통해 테이블을 병합 한 다음 GROUP BY 나이 – ryanbwork

+0

@Strawberry 늦게 답변 해 주셔서 죄송합니다. '방법'과 '가장 효율적인 방법': D – pewpewlasers

답변

5

당신은 노조 집계 할 :

select age, count(*) 
from (select id, age, gender from table1 union all 
     select id, age, gender from table2 
    ) t 
group by age 
+0

답장을 보내 주셔서 감사 드리며, 매력처럼 작동합니다. 시간이 있다면 확인해주세요. : D http://stackoverflow.com/questions/14641572/counting-and-grouping-same-named-column-in-different-tables-where-clause-from-o – pewpewlasers

+1

@ user1768337. . . 당신이 union/aggregation (여기에서했던 것처럼)을하는지 또는 aggregation/union/aggregation을하는지는 실제로 성능의 문제입니다. 대용량 데이터 세트의 경우, 후자를 수행하려고 할 수 있습니다. –

0

노력이

select age ,count(age) count from table1 group by age 
union 
select age, count(age) count from table2 group by age 
관련 문제