让我们举个例子来说明我的担忧:
假设我们有一个表(标签),它有两列像这样
UserID -------------------------------- Tag
1 -------------------------------------- SQL
1 -------------------------------------- Select
1 -------------------------------------- DB
2 -------------------------------------- SQL
2 -------------------------------------- Programming
2 -------------------------------------- Code
2 -------------------------------------- Software
3 -------------------------------------- Code
4 -------------------------------------- SQL
4 -------------------------------------- Code
我需要根据 UserID 计算每个标签的 DISTINCT 共现次数
所以,输出应该是这样的(按共现顺序排序):
Tag -------------------------------- Co-occurrences
---------------------------------------------
SQL --------------------------------------- 5
Programming ------------------------------- 3
Code -------------------------------------- 3
Software ---------------------------------- 3
Select ------------------------------------ 2
DB ---------------------------------------- 2
这只是一个例子。。
我怎样才能做出可以做到这一点的 Select 语句?
我想出了一种方法,但只有一个特定的标签:
SELECT count (distinct (Tag)) - 1 as Co_occurrences
FROM Tags
WHERE Tag is NOT NULL and UserID in
( SELECT UserID
FROM Tags
where tag = 'SQL')
是否可以更改上述语句以使其对表中的所有标签通用?