如何在星型模式中返回正确的计数

时间:2017-11-02 21:28:32

标签: sql sql-server data-warehouse

我遇到了一个问题,它返回了一个反映我在以下查询中要回答的问题的计数:

select s.sitename, c.primarylanguage, count(primarylanguage)
from cor.sites s
join cor.scores cs on s.id = cs.siteid
join cor.children c on c.id = cs.childid
group by s.sitename, c.primarylanguage
order by s.sitename;

网站名称和小学语言都是正确的而不是计数。我想要返回网站名称,并加入网站上使用的所有语言。然后我想要计算一下有多少孩子在那个地方说那种语言。我当前的查询总结了事实表(cor.scores)中的所有行,而不是告诉我有多少孩子在某个站点说一种语言。

上下文: 主要语言可以在cor.children维度中找到。

1 个答案:

答案 0 :(得分:2)

使用distinct关键字,如下所示:

count(distinct c.id)