主题:这种累计利润怎么实现

qy1155 2018年11月08日 39

这种方式控制台都是可以正常使用的,但是在beetlsql中就不知道怎么实现了

累计利润.png

这个是sql测试数据

create table test(
    score int not null
)charset=utf8;

insert into test values
(10),
(20),
(30),
(20),
(10),
(60);

set @su:=0;
select socre,(@su:=@su+score) as totalscore 
from test
order by id desc;

图片是查询结果

查询结果.png


在beetlsql查询的md文件代码是这样写的

getScoreInfo
===

  @var csum = 0;
  select score (#csum#=#csum#+score) as totalscore
  from test
  order by id desc;

查询出来的结果totalscore这一项全部为0,debug也没有错误提示

  • sue :mysql中的 set @csum := 0 不等同于 Beetlsql中的 var csum=0,您可以将sql放到beetlsql的md文件中,通过 '\'对‘@’进行转义:set \@csum(2天前)
闲大赋 2018年11月08日

beetlsql 默认使用了@作为定界符,因此,你的sql包含了@,可以用\,应该是

set \@csum:=0
...