排名查询在Mysql 5.5中工作但不工作5.6.20

时间:2014-08-08 11:34:15

标签: mysql

我写了一个查询来计算产品的排名索引,查询在本地计算机上工作正常,但同样的查询在实时服务器中不起作用。

本地:Mysql 5.5.38 直播:Mysql 5.6.20

我的查询

select 
    x . *
from
    (select 
        productID,
            productname,
            price,
            mobile_score,
            format((((5 / 100) * mobile_score) + (5 - (@ctrnk:=@ctrnk + 1) * (5 / (select 
                    count(*)
                from
                    product a
                CROSS JOIN (SELECT @ctrnk:=- 1) c
                join product b ON a.productID = b.productID
                where
                    a.mobile_score = 82 and a.categoryID != 13 and a.price > 0
                order by a.price asc)))) / 2, 2) as indexscore
    from
        product
    where
        mobile_score = 82 and categoryID != 13 and price > 0
    order by price asc) as x
where productID = 1923

输出

Local :
    productID productname  price  mobile_score  indexscore
    1923      Xiaomi MI3   13999       82         4.55

Live :
    productID productname  price  mobile_score  indexscore
    1923      Xiaomi MI3   13999       82         Null    

1 个答案:

答案 0 :(得分:0)

我找到了关于我的问题的这个链接。我认为mysql 5.6.20版本中存在一个错误bugs.mysql.com/bug.php?id=73283