Sqlite 3 特殊计数

Sqlite 3 special count

我有这个select:

SELECT itemID, item, collectionName, tagID, extra  FROM items INNER JOIN factors ON   items.itemID = factors.zotero_itemID WHERE collectionID = 3 AND (tagID = 11 OR tagID = 16) GROUP BY item

这给了我这个结果:

itemID  item    collectionName              tagID   extra
342     3       Políticas Públicas - Artigo 16      S
349     5       Políticas Públicas - Artigo 11      S
541     25      Políticas Públicas - Artigo 16      R

我该怎么做才能计算额外字段中有多少个不同的标志。例如:S = 2 R = 1 重要提示:我可以在额外字段中包含其他值,例如 B、P(以及我不知道的其他值,因为它是由用户设置的)并且我需要在它们出现时对它们进行计数。

结果可以是这样的:

extra    totals
S        2
R        1

但是,遵守 Where 子句非常重要。

可以吗? 最好的问候

这是一个简单的group by查询:

select extra, count(*) as totals
from items 
group by extra;

悠悠!现在可以使用了。

SELECT extra, count(extra) AS totals FROM 
(
SELECT extra FROM items INNER JOIN factors ON   items.itemID = factors.zotero_itemID     WHERE collectionID = 3 AND (tagID = 11 OR tagID = 16) GROUP BY item
) GROUP BY extra