如何将mySQL Select上特定键的实际值与上述行值相加
用这里的一个例子,我只是提出了一个解决方案的一部分。现在我可以将这些值与上面一行的值求和,但在这种情况下,我只需要对同一个seu_NOME列的值求和 是SQLFIDLE的一个示例: 这是一个平衡,不是下面的总数如何将mySQL Select上特定键的实际值与上述行值相加,mysql,sql,Mysql,Sql,用这里的一个例子,我只是提出了一个解决方案的一部分。现在我可以将这些值与上面一行的值求和,但在这种情况下,我只需要对同一个seu_NOME列的值求和 是SQLFIDLE的一个示例: 这是一个平衡,不是下面的总数 | SE_NOME | PNT |BALANCE| |---------|-----|-------| | ARP | 100 | 100 | | ARP | 500 | 600 | | DEE | 200 | 200 | | DEE | 20
| SE_NOME | PNT |BALANCE|
|---------|-----|-------|
| ARP | 100 | 100 |
| ARP | 500 | 600 |
| DEE | 200 | 200 |
| DEE | 200 | 400 |
| DEE | 200 | 800 |
| DFF | 300 | 300 |
| HGG | 400 | 400 |
| HGG | 400 | 800 |
| HGG | 400 | 1200 |
我猜你是在问如何用相同的seu_NOME值求和行。然后你可以做如下事情:
SELECT SUM(PNT) AS TOTAL FROM energia where SE_NOME = 'DEE'
select
PreAgg.SE_NOME,
PreAgg.PNT,
CASE
WHEN @PrevNome<>PreAgg.SE_NOME THEN @PrevBal := PreAgg.PNT
ELSE @PrevBal := @PrevBal + PreAgg.PNT
END as Total,
@PrevNome := PreAgg.SE_NOME as Nome
from
( select
eg.SE_NOME,
eg.PNT
from
energia as eg
order by
eg.SE_NOME ) as PreAgg,
( select @PrevBal := 0.00 ) as SqlVars1,
( select @PrevNome := '' ) as SqlVars2
或者任何你想要使用的SE_NOME值。我想你需要这样的东西:
SELECT SUM(PNT) AS TOTAL FROM energia where SE_NOME = 'DEE'
select
PreAgg.SE_NOME,
PreAgg.PNT,
CASE
WHEN @PrevNome<>PreAgg.SE_NOME THEN @PrevBal := PreAgg.PNT
ELSE @PrevBal := @PrevBal + PreAgg.PNT
END as Total,
@PrevNome := PreAgg.SE_NOME as Nome
from
( select
eg.SE_NOME,
eg.PNT
from
energia as eg
order by
eg.SE_NOME ) as PreAgg,
( select @PrevBal := 0.00 ) as SqlVars1,
( select @PrevNome := '' ) as SqlVars2
你能解释一下,你的预期产出是什么吗?rtruszk先生刚刚给出了一个很好的答案。谢谢。我需要的正是小提琴上的那一点,它是实际价值加上前一点的余额。如编辑的问题所述。