想获得 运行 总佣金 SQL table
Would like to get running total of comission SQL table
我正在尝试从 table、"policies"
中获得以下结果
+-------------+------------------+
|Commission |Total Commission |
+-------------+------------------+
|108 |108 |
+-------------+------------------+
|50 |158 |
+-------------+------------------+
|12 |170 |
+-------------+------------------+
and so on...
到目前为止,我的查询如下所示:
SELECT
P.commission
SUM(P.commission) OVER (PARTITION BY P.id ORDER BY P.id) AS "Total Commission"
FROM
policies P
除了使用 OVER
似乎不起作用(SELECT
、SUM()
和 FROM
等词都会将文本颜色更改为蓝色,因为它们re 关键字)
有人可以建议一种方法让这个按照我想要的方式工作
EDIT:: p.policy_id didn't exist. Was just p.id, corrected.
EDIT2:: incorrect spelling of "commission", corrected
进一步编辑:
我现在正在使用以下查询,它正在获取以下结果:
SELECT p.commission,
(SELECT SUM(p2.commission)
FROM policies p2
WHERE p2.id = p.id AND p2.id <= p.id
) AS total_commission
FROM policies p;
+-------------+------------------+
|Commission |Total Commission |
+-------------+------------------+
|108 |108 |
+-------------+------------------+
|50 |50 |
+-------------+------------------+
|12 |12 |
+-------------+------------------+
您可能正在使用 MySQL,它不支持 window 函数。
您可以改用相关子查询:
SELECT p.comission,
(SELECT SUM(p2.comission)
FROM policies p2
WHERE p2.id = p.id and p2.policy_id <= p.policy_id
) as total_comission
FROM policies p;
我正在尝试从 table、"policies"
中获得以下结果+-------------+------------------+
|Commission |Total Commission |
+-------------+------------------+
|108 |108 |
+-------------+------------------+
|50 |158 |
+-------------+------------------+
|12 |170 |
+-------------+------------------+
and so on...
到目前为止,我的查询如下所示:
SELECT
P.commission
SUM(P.commission) OVER (PARTITION BY P.id ORDER BY P.id) AS "Total Commission"
FROM
policies P
除了使用 OVER
似乎不起作用(SELECT
、SUM()
和 FROM
等词都会将文本颜色更改为蓝色,因为它们re 关键字)
有人可以建议一种方法让这个按照我想要的方式工作
EDIT:: p.policy_id didn't exist. Was just p.id, corrected.
EDIT2:: incorrect spelling of "commission", corrected
进一步编辑:
我现在正在使用以下查询,它正在获取以下结果:
SELECT p.commission,
(SELECT SUM(p2.commission)
FROM policies p2
WHERE p2.id = p.id AND p2.id <= p.id
) AS total_commission
FROM policies p;
+-------------+------------------+
|Commission |Total Commission |
+-------------+------------------+
|108 |108 |
+-------------+------------------+
|50 |50 |
+-------------+------------------+
|12 |12 |
+-------------+------------------+
您可能正在使用 MySQL,它不支持 window 函数。
您可以改用相关子查询:
SELECT p.comission,
(SELECT SUM(p2.comission)
FROM policies p2
WHERE p2.id = p.id and p2.policy_id <= p.policy_id
) as total_comission
FROM policies p;