我正试图从一个表“政策”
中获得以下结果+-------------+------------------+
|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
等字词都将文字颜色更改为蓝色,因为它们是关键字)
请有人建议一种让我知道如何工作的方法
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 |
+-------------+------------------+
答案 0 :(得分:0)
您可能正在使用MySQL,它不支持窗口函数。
您可以改为使用相关子查询:
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;