私の懸念を宣言する例を見てみましょう:
このような2つの列を持つテーブル(タグ)があるとします
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ステートメントを作成するにはどうすればよいですか?
私は1つの方法を思いつきましたが、特定のタグは1つだけです。
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')
上記のステートメントを変更して、テーブル内のすべてのタグに対して一般的なものにすることは可能ですか?