首页 > 数据库技术 > 详细

在SUM()行数中使用SQL变量导致不可预测结果

时间:2015-07-15 13:04:05      阅读:158      评论:0      收藏:0      [点我收藏+]

 

Query 1)

Select * From test;
no1no2
1 1
2 2
3 3
4 4
5 5

Query 2)

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

Query 3)

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

第三个SQL查询的结果很奇怪,理论上它应该得到和query2一样的结果,为什么得到的结果不一样呢。

我在StackOverFlow问了这个问题

答案大该是说,第三个SQL查询中,先执行了SUM(@wokao),后执行了@wokao:= (no1 + no2),导致以上结果。

Written with StackEdit.

在SUM()行数中使用SQL变量导致不可预测结果

原文:http://www.cnblogs.com/zfreay/p/4647811.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!