作者yida0926 (yida)
看板Database
标题[SQL ] 如何找出共同的项目
时间Mon Jan 16 21:56:11 2012
Hi all:
不知道标题这样下是否恰当。
目前我的 DB table 存的是:
User Item Value
A I1 2
A I3 3
A I5 3
B I1 2
B I5 4
C I3 1
C I5 3
User是某个使用者、Item为某项目的标号、value则是一个简单的数值。
我现在想要挑出每两个user的共同项目资料跟各别数值,
例如: [A,B]={I1:2:2,I5:3:4} , [B,C]={I5:4:3} , [A,C]={I3:3:1;I5:3:3}
但我不知道该用甚麽样的语法来解决效能会比较好,
我现在用的是很笨的brute force跑很多层回圈来解,
如果有N个user那就会有N(N-1)/2个对应关系,
资料量很大的时候会浪费很多时间,
现在光parser table找出关系就要10分钟效率极差,
想请教大家是否有更合适的语法建议。
Table的储存格式与最後呈现的样貌都是可以修改的,
主要是可以改善执行时间达到online update,
其他的问题就相对好解决了,
DBMS: MySQL
谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.35.163.196