SQL查询:Sum(@variable)

时间:2015-03-09 23:23:19

标签: mysql sql sum

有人可以告诉我为什么我运行这个简单查询时得到的最后两列之间存在差异?

在此示例中,最后一列与第三列相同,后退一个位置,第一行包含 NULL

SELECT 
  SUM(PRICE), 
  @sum := SUM(PRICE) , 
  ln(SUM(PRICE)), 
  ln(@sum) 
FROM 
  TABLE 
group by ISIN

1 个答案:

答案 0 :(得分:3)

这是因为在创建每个组的值之后,@sum变量被赋值。在最后一列中,@sum的当前值用于创建值,因此将是从前一组分配的值。