加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL可以跨多个表计算聚合函数吗?

发布时间:2020-12-12 06:53:57 所属栏目:MsSql教程 来源:网络整理
导读:假设我有两个现有的桌子,“狗”和“猫”: dog_name | owner ---------+------ Sparky | Bob Rover | Bob Snoopy | Chuck Odie | Jon cat_name | owner ---------+------ Garfield | Jon Muffy | Sam Stupid | Bob 如何使用此输出编写查询? owner | num_dogs
假设我有两个现有的桌子,“狗”和“猫”:
dog_name | owner
 ---------+------
 Sparky   | Bob
 Rover    | Bob
 Snoopy   | Chuck
 Odie     | Jon

 cat_name | owner
 ---------+------
 Garfield | Jon
 Muffy    | Sam
 Stupid   | Bob

如何使用此输出编写查询?

owner | num_dogs | num_cats
 ------+----------+---------
 Bob   |     2    |    1
 Chuck |     1    |    0
 Sam   |     0    |    1
 Jon   |     1    |    1

解决方法

select owner,sum(num_dogs),sum(num_cats) from
  (select owner,1 as num_dogs,0 as num_cats from dogs
   union
   select owner,0 as num_dogs,1 as num_cats from cats)
group by owner

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读