首页 > 在SUM()里使用SQL变量导致不可预见的结果

在SUM()里使用SQL变量导致不可预见的结果

select * from test;

|no1|no2|
----+----
|1 | 1 |
|2 | 2 |
|3 | 3 |
|4 | 4 |
|5 | 5 |
----+----

select @wokao:= (no1 + no2), @wokao from test group by no1;

2 2
4 4
6 6
8 8
10 10

select @wokao:= (no1 + no2), sum(@wokao) from test group by no1;

2 null
4 2
6 4
8 6
10 8

似乎sum(@wokao)得到的是,上一行的@wokao的值。这是怎么回事呢?


http://stackoverflow.com/questions/31352674/using-sql-variable-in-sum-...

在stackoverflow上得到答案了。

【热门文章】
【热门文章】