我有以下问题的一部分有困难。提前谢谢你的帮助。我很难想象这个“假”数据库表。我希望有人能帮我分析一下我的逻辑,看看它是否正确。如果有人能给我指明正确的方向,那就太好了!
关于:
芝麻是一种为成年人而设的在线课程&为你周围的成年人而设的活动。
假设有一个名为activities的数据库表。它有四栏:
问:给定以下查询,您希望返回最高值和最低值吗?你认为应该是一样的吗?为什么?
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)
推理:减少每个区域每个活动的活动提供者*
同样:不确定--有人能指点我正确的方向吗?
发布于 2020-07-27 21:48:03
count(*)考虑到表中的所有行,而count(some_col)只计算some_col的非空值。
由于activity_id是一个不可空的colum,因此可以期望以下表达式返回相同的“最高”计数:
count(activity_id)
count(*)至于wich表达式在剩下的三个选项中返回最低计数,从问题中提供的信息中无法确定地说出来。如果实际情况取决于这是更多,还是更少,不同的领域比活动提供者。
如果所有活动提供程序(resp )都返回相同的情况,甚至会出现边缘情况。)在表中是非空的和唯一的。
https://stackoverflow.com/questions/63123044
复制相似问题