这类似于this post,但又有很大的不同,所以我再次提出,所提出的解决方案在我的情况下也会非常慢。
注意:我也在红移中处理非常大的数据集。
我正在尝试计算统计模型的“分数”,这要求我计算数据集中每一行的点积。特别是,我想在表“SCORE”中创建一个新列,将第一个表中每一列的值乘以该列的预定值。
例如,我有以下表格:
姓名首字母
+--------+------+-------+
| NAME | COL0 | COL1 |
+--------+------+-------+
| AL | 1 | 4 |
| BILL | 2 | 5 |
| CATHY | 3 | 6 |
+--------+------+-------+
估计数
+--------+----------+
| NAME | ESTIMATE |
+--------+----------+
| COL0 | 5 |
| COL1 | 10 |
+--------+----------+
我想要决赛桌
最终报告
+--------+------+-------+-------+
| NAME | COL0 | COL1 | SCORE |
+--------+------+-------+-------+
| AL | 1 | 4 | 45 |
| BILL | 2 | 5 | 60 |
| CATHY | 3 | 6 | 75 |
+--------+------+-------+-------+
对于最终表,INITIAL表中每列的值将乘以不同的数字,具体取决于ESTIMATES表中列出的值。例如,AL的SCORE由1 * 5 + 4 * 10 = 45得出。其中5和10来自估计值表。
目前,我正在通过编写SQL代码来创建SCORE列,该代码手动写入估计值中的数字。
4条答案
按热度按时间qvk1mo1f1#
您可以通过联接表然后使用条件聚合来完成此操作:
lvjbypge2#
假设使用大小写透视时估计表将始终生成一行...
0aydgbwb3#
您可以通过将表连接为以下形式来执行此操作:
请将此SQLFiddle链接作为参考
imzjd6km4#
对于未来的用户,可以使用postgresql实现矢量点积here: