我需要计算该术语出现的次数,只有它出现时才会出现。
我有一个如下所示的表:
document | term
a0000001 | n/a
a0000001 | for
a0000001 | nothing
a0000002 | lux
a0000002 | the
a0000002 | censoring
a0000003 | the
a0000003 | the
a0000003 | and
此查询返回每个文档中显示的术语的计数:
SELECT document, COUNT(term) AS term_count
FROM documentsx
WHERE term="the"
GROUP BY document;
document | term
a000002 | 1
a000003 | 2
此查询告诉我匹配的术语是否出现:
SELECT document, SUM(CASE WHEN term='the' THEN 1 ELSE 0 END) AS "the"
FROM documentsx
GROUP BY documents;
document | the
a000001 | 0
a000002 | 1
a000003 | 1
我正在寻找一种方法来组合这两个查询,以便我得到以下内容:
document | the
a000001 | 0
a000002 | 1
a000003 | 2
我正在使用MariaDB。
答案 0 :(得分:1)
我不熟悉MariaDB,但在SQL Server中,我能够使用UNION来获得您想要的组合结果。