在SUM()行數中使用SQL變量致使不可預測結果

 

Query 1)sql

Select * From test;
no1 no2
1 1
2 2
3 3
4 4
5 5

Query 2)this

select @wokao:= (no1 + no2), @wokao from test group by no1;
no1 no2
2 2
4 4
6 6
8 8
10 10

Query 3)spa

select @wokao:= (no1 + no2), sum(@wokao) from test group by no1;
no1 no2
2 null
4 2
6 4
8 6
10 8

第三個SQL查詢的結果很奇怪,理論上它應該獲得和query2同樣的結果,爲何獲得的結果不同呢。code

我在StackOverFlow問了這個問題get

答案大該是說,第三個SQL查詢中,先執行了SUM(@wokao),後執行了@wokao:= (no1 + no2),致使以上結果。it

Written with StackEdit.io

相關文章
相關標籤/搜索