SQL矩阵乘法 - 你能解释一下这里发生了什么吗?

时间:2014-07-11 20:03:05

标签: sql matrix linear-algebra sparse-matrix matrix-multiplication

SELECT 
    A.row_number, B.column_number, SUM(A.value*B.value)
FROM 
    A, B
WHERE 
    A.column_number = B.row_number
GROUP BY 
    A.row_number, B.column_number

此片段输出两个矩阵的乘法,其中每个矩阵是一个表格形式:

matrix (row_number, column_number, value)

您能否解释一下代码评估时会发生什么?如果你能逐步解释,我们将不胜感激。

由于

1 个答案:

答案 0 :(得分:2)

使用SQL SELECT SUM函数返回A.row_number,B.column_number值和矩阵乘法SUM(A.value * B.value)(对于关联的行和列)。

FROM表A和B.

A中的列数等于B中的行数(因为只有在这个情况下才定义产品AB)

因为您在SQL SELECT语句中列出了A.row_number,B.column_number,而未在SQL SUM函数中封装,所以必须使用SQL GROUP BY子句。所以你在SQL GROUP BY部分列出它们。

您可能还想阅读the concept of matrix multiplication.