我在mysql中使用等效的row_number时遇到问题 . 这是我的代码:

SELECT
    @row_number:=CASE
        WHEN @facebookv = a.facebook THEN @row_number:= @row_number + 1
        ELSE @row_number:=1
    END AS num,
   @facebookv:=a.facebook as denumire_facebook,
    a.Keyword,
    sum(a.Sales) as Sales
FROM
    ams_prod a , (SELECT @row_number:=0,@facebookv='') AS t
    group by a.facebook,a.Keyword
    having sum(a.Sales)>0
ORDER BY a.facebook;

所以问题是它为同一个“facebook”列值返回了相同的“num”,如:

不,他们没有加倍,他们只是重复了几次 . 知道为什么会这样吗?谢谢!