您当前的位置: 首页 >  数据库

郭梧悠

暂无认证

  • 5浏览

    0关注

    402博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

一个例子说明数据库union all的作用

郭梧悠 发布时间:2012-09-22 23:04:17 ,浏览量:5

现有一张表A id name1 name2 1 aa bb 2 aa cc 3 bb cc 4 aa dd ................. 需要统计每个名字出现的次数 希望得到的结果是 aa 3 bb 2 cc 2 dd 1

下面是具体的步骤,通过逐步分析来体现union all 的作用

------------------------------------------------------------------------------------

第一步:求name1的数据信息

select name1 name,count(*) num from dd group by name1 查询结果: name num  aa        3  bb       1 ******************************** 第二步:求name2的数据信息

select name2 name,count(*) num from dd group by name2 查询结果: name num    bb    1    cc     2   dd     1 ********************************** 第三步:把第一步和第二步的用union all结果结合起来

select name1 name,count(*) num from dd group by name1 union all select name2 name,count(*) num from dd group by name2 查询结果: name num aa       3 bb       1 bb      1 cc       2 dd      1 ***************************************** 最后在第三步的基础上再次搜索就可以得到结果 select name,sum(num) from (select name1 name,count(*) num from dd group by name1 union all select name2 name,count(*) num from dd group by name2) t

 group by name ;

查询结果: name  num

aa          3 bb          2 cc          2 dd         1

说明:如果用union而不是union all的话会取消重复的列

关注
打赏
1663674776
查看更多评论
立即登录/注册

微信扫码登录

0.9553s