Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Count()而不计算SQLITE中不同行中的重复值?_Sqlite - Fatal编程技术网

如何使用Count()而不计算SQLITE中不同行中的重复值?

如何使用Count()而不计算SQLITE中不同行中的重复值?,sqlite,Sqlite,我有一个名为Review的表。 它包含客户对他们以前所经历过的清洁公司的评论。 同一个ReviewerID可以(随时)对同一家公司进行多次审核。 1个审阅者ID==1人。 我决定进行每一次审查以进行审查,因为每次审查都会有不同的审查声明。 因此,ReviewID是PK,companyID是FK reviewID | reviewerID | companyID | Statement 001 | James216 | clean417 | "different statement

我有一个名为Review的表。
它包含客户对他们以前所经历过的清洁公司的评论。
同一个ReviewerID可以(随时)对同一家公司进行多次审核。
1个审阅者ID==1人。
我决定进行每一次审查以进行审查,因为每次审查都会有不同的审查声明。
因此,ReviewID是PK,companyID是FK

reviewID | reviewerID | companyID | Statement
  001    |   James216 |  clean417 | "different statement"
  002    |   James216 |  clean417 | "different statement"
  003    |   Lee_216  |  clean417 | "different statement"
我想获得数据库中每个审阅者ID所审阅的公司数。
通过参考该表,所需的输出是
James216 1
(1因为James216仅审查了公司清洁417)。我尝试使用COUNT,但它会对非空行进行计数,导致输出为
James216 2

我也尝试过使用select distinct,但输出不正确。

我真的搞不懂这一点。

因为我认为它不支持
count(distinct)
,您可以通过创建一个唯一的子集来解决它:

select reviewerID, count(companyID) 
  from (select distinct reviewerID, companyID
          from Review)
 group by reviewerID;
从:

在任何接受单个参数的聚合函数中,该参数前面可以有关键字DISTINCT

你可以用

SELECT DISTINCT Count(YourField) FROM YourTable

select distinct是否等于select@USER212514不,不一样
selectdistinct
将为James216/clean417只提供一行,而不是实际表中的两行。