有如下表。
--------------------------------------------
tag sid
A 1
B 1
A 2
B 2
C 2
A 3
B 4
E 5
F 5
--------------------------------------------
现在要匹配SID=1的相同tag按匹配度排序。
如上面的例子.
sid=1 的tag为A和B。
那么记录中存在A或B的,有SID为2,3,4
按顺序列出来,SID=2匹配了两个放第一位
SID=3匹配了一个,放第二,
SID=4匹配了一个,并列第二。
最终要的数据结合为:
------------------------------------------
SID
2
3
4
请问高手这样的SQL语句怎么写法?
------解决思路----------------------
是这个意思吗
SELECT T2.sid
FROM TB T1
JOIN TB T2 ON T1.tag=T2.tag AND T1.sid<>t2.sid
WHERE T1.sid=1
GROUP BY T2.sid