我有一个MySQL表,如下所示:
JID SKID VALUE
--------------------
alpha a 6
alpha b 3
alpha c 2
beta a 3
beta b 5
gamma a 1
gamma c 3
...
(注意没有gamma / b)
我还有一个看起来像这样的测试数据库:
SKID VALUE
a 3
b 4
c 2
我要做的是对第一个表中的每个JID执行计算,该计算是使用的函数的总和(第一个表中的每个SKID的VALUE和来自第二个表的每个SKID的VALUE)
因此,结果表将JID / SCORE作为其标题,其中SCORE是一个复杂(但可描述)的计算。
伪代码:
for each SKID in JID {
TEMP = calculation(table1.Value, table2.value)
SCORE = SCORE + TEMP
}
RETURN JID, SCORE
我知道我可以用另一种语言执行此操作,但我更喜欢直接在SQL中进行计算,但我不知道该怎么做,或者甚至可能。
在SQL中执行此操作或将其发送到python会更快吗?还有更好的语言吗?
答案 0 :(得分:0)
我得到了它的工作:
select jid, sum(score)
from(
select t1.jid, t2.ivalue*t1.ivalue as score
from t1
join t2 on t1.skid = t2.skid
)
as subtable group by jid