首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计数函数:查询结果

计数函数:查询结果
EN

Stack Overflow用户
提问于 2020-07-27 20:27:38
回答 1查看 62关注 0票数 0

我有以下问题的一部分有困难。提前谢谢你的帮助。我很难想象这个“假”数据库表。我希望有人能帮我分析一下我的逻辑,看看它是否正确。如果有人能给我指明正确的方向,那就太好了!

关于:

芝麻是一种为成年人而设的在线课程&为你周围的成年人而设的活动。

假设有一个名为activities的数据库表。它有四栏:

  • activity_id int,非空

  • activity_provider_id辅助int,非空

  • area_id int,可空

  • starts_at timestamp,非空

问:给定以下查询,您希望返回最高值和最低值吗?你认为应该是一样的吗?为什么?

代码语言:javascript
复制
select
     
    count(activity_id),
    
    count(distinct activity_provider_id),
    
    count(area_id),     
    count(distinct area_id),
    count(*)

    from activities

我的解决方案

最高值:count(*)

推理:(*)函数返回SELECT语句返回的行数,包括NULL和重复。

最低值:count(distinct activity_provider_id)

推理:减少每个区域每个活动的活动提供者*

同样:不确定--有人能指点我正确的方向吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-27 21:48:03

count(*)考虑到表中的所有行,而count(some_col)只计算some_col的非空值。

由于activity_id是一个不可空的colum,因此可以期望以下表达式返回相同的“最高”计数:

代码语言:javascript
复制
count(activity_id)
count(*)

至于wich表达式在剩下的三个选项中返回最低计数,从问题中提供的信息中无法确定地说出来。如果实际情况取决于这是更多,还是更少,不同的领域比活动提供者。

如果所有活动提供程序(resp )都返回相同的情况,甚至会出现边缘情况。)在表中是非空的和唯一的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63123044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档