我有一张名为Review的表。
它包含客户对之前经历过的清洁公司的评论
相同的ReviewerID可以在同一家公司(任何时间)提供许多评论
1 ReviewerID == 1个人。
我决定每次审核都有一个ReviewID,因为每篇评论都有不同的review_statement
因此,ReviewID是PK,companyID是FK。
James216 2
我想获得数据库中每个ReviewerID审核的公司数量 通过引用该表,所需的输出为{{1}}(1因为James216仅审查了公司clean417)。我尝试过使用COUNT但它会计算非空行,导致输出为{{1}}。
我也试过使用select distinct但输出不正确 我真的无法弄清楚这一点。
答案 0 :(得分:1)
由于我认为它不支持count(distinct)
,您可以通过创建一个独特的子集来解决它:
select reviewerID, count(companyID)
from (select distinct reviewerID, companyID
from Review)
group by reviewerID;
答案 1 :(得分:0)
在任何采用单个参数的聚合函数中,该参数前面都有关键字DISTINCT。
您可以使用
SELECT DISTINCT Count(YourField) FROM YourTable