我有一个关于使用sql将多个公式插入数据表的问题 .
我有一个大数据表,表格g . g的一些列是
id1 id2 xyz
******************************
123 456 4
123 123 1
789 456 5
456 123 2
123 789 4
我使用这些命令创建了另一个表,占位符
CREATE TABLE placeholder(id, count, sum_1, sum_2)
接下来,我试图将数据插入占位符并遇到问题 .
'placeholder'中的变量'id'可以匹配 id1 id2
中既不匹配,也可以匹配一个或两个 . 我正确编码 count
变量,但我正在努力使用公式将数据插入sum_1和sum_2 .
sum_1
需要是 xyz
的总和,按id1分组
sum_2
需要是 xyz
的总和,按id2分组
我试图使用此代码将数据插入占位符
INSERT INTO placeholder
SELECT
id1,
COUNT(*) AS 'num' FROM g GROUP BY id1,
SUM(xyz) AS 'num' FROM g GROUP BY id1,
SUM(xyz) AS 'num' FROM g GROUP BY id2
前两行有效,但最后两行(使用SUM开始)不起作用 . 我一直收到错误 OperationalError: near "SELECT": syntax error
.
如何计算条件总和并将它们插入到我的表中?
编辑:
这是我希望占位符在我的陈述之后的样子 .
id count sum_1 sum_2
*******************************************************
123 3 9 3
456 1 2 9
789 1 5 4
这些值对应于表g中的总和值
1 回答
你可以用聚合和
union all
得到你想要的东西: