想要运行总计的委托SQL表

时间:2017-06-23 10:28:36

标签: mysql sql sqlyog

我正试图从一个表“政策”

中获得以下结果
+-------------+------------------+
|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的使用似乎不起作用(SELECTSUM()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                |
+-------------+------------------+

1 个答案:

答案 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;