0

我正在做类似以下的事情(例如,让不同的人被州命名为“马克”):

Select count(distinct FirstName) FROM table
GROUP BY State

认为按查询组织分组是首先完成的,这样不同的只是相对于每个“分组依据”?基本上,“标记”可以在每个组中显示为“不同”计数吗?我相信,这会将我的独特表达“限定”到仅按行分组的范围内……

4

2 回答 2

0

这实际上可能取决于DISTINCT使用的位置。例如,SELECT DISTINCT COUNT(将不同于SELECT COUNT(DISTINCT.

在这种情况下,它将按您的意愿工作,并获得每个组中不同名称的计数(即使名称在组之间不是不同的)。

于 2013-09-09T18:25:23.667 回答
0

你的理解是正确的。 Group by本质上说,取一组行并将它们聚合成一行(基于标准)。所有聚合函数——包括count(distinct)——汇总该组中的值。

请注意,您使用的是“范围”一词。正如您所知,这在 SQL 中具有特殊的含义。含义是指编译器可以理解列或表别名的查询部分。

于 2013-09-09T18:25:50.347 回答