我有一个名为table
的SQL表Document Word
-------------------
doc1 Hello
doc1 Hi
doc1 Welcome
doc1 Hello
doc2 Welcome
doc2 Welcome
doc3 Hi
doc3 Hello
doc3 Good Luck
这意味着我有文档列表,每个文档都包含一些单词,每个文档的每个单词都有raw,如果在同一个文档中出现两次单词,我将有2个raw。 我希望获得一个不同单词列表,其中包含出现的文档数量,无论出现多少次。 所以这个表的输出应该是
Hello: 2 --> which means it appeared in 2 documents
Hi: 2
Welcome: 2
Good Luck: 1
任何人都可以帮我写一些会返回此结果的查询吗?
答案 0 :(得分:3)
您想要count(distinct)
:
select word, count(distinct document)
from t
group by word;