好,我有兩個表: 表1看起來像這樣:計數和在不同的表分組相同的命名的柱(MySQL的)
id age gender
1 10 M
2 11 F
3 11 F
和表2看起來像這樣(相同與不同的值):
id age gender
1 11 F
2 12 M
3 10 M
現在我想我的最終輸出如下所示:
age count
10 2
11 3
12 1
瓦at是達到此目的的最有效方式?
好,我有兩個表: 表1看起來像這樣:計數和在不同的表分組相同的命名的柱(MySQL的)
id age gender
1 10 M
2 11 F
3 11 F
和表2看起來像這樣(相同與不同的值):
id age gender
1 11 F
2 12 M
3 10 M
現在我想我的最終輸出如下所示:
age count
10 2
11 3
12 1
瓦at是達到此目的的最有效方式?
你想要聚合上聯:
select age, count(*)
from (select id, age, gender from table1 union all
select id, age, gender from table2
) t
group by age
嘿感謝您的回答,像一個魅力工作...如果你有一些時間可以請你也檢查一下嗎? :D http://stackoverflow.com/questions/14641572/counting-and-grouping-same-named-column-in-different-tables-where-clause-from-o – pewpewlasers
@ user1768337。 。 。無論您是進行聯合/聚合(如此處所述)還是聚合/聯盟/聚合,都是一個真正的性能問題。對於大型數據集,我可能會想要做後者。 –
試試這個
select age ,count(age) count from table1 group by age
union
select age, count(age) count from table2 group by age
你想知道「最有效的方式」,或只是「辦法」? – Strawberry
通過http://stackoverflow.com/questions/725556/how-can-i-merge-two-mysql-tables中的一種方法合併表格,然後做GROUP BY年齡 – ryanbwork
@Strawberry很抱歉回覆晚了, '一種方式'和'最有效的方式':D – pewpewlasers