我正在做类似以下的事情(例如,让不同的人被州命名为“马克”):
Select count(distinct FirstName) FROM table
GROUP BY State
我认为按查询组织分组是首先完成的,这样不同的只是相对于每个“分组依据”?基本上,“标记”可以在每个组中显示为“不同”计数吗?我相信,这会将我的独特表达“限定”到仅按行分组的范围内……
这实际上可能取决于DISTINCT
使用的位置。例如,SELECT DISTINCT COUNT(
将不同于SELECT COUNT(DISTINCT
.
在这种情况下,它将按您的意愿工作,并获得每个组中不同名称的计数(即使名称在组之间不是不同的)。
你的理解是正确的。 Group by
本质上说,取一组行并将它们聚合成一行(基于标准)。所有聚合函数——包括count(distinct)
——汇总该组中的值。
请注意,您使用的是“范围”一词。正如您所知,这在 SQL 中具有特殊的含义。含义是指编译器可以理解列或表别名的查询部分。