0

我的一个查询是游戏的排名。

查询如下,SQL Server Management Studio 显示的错误是:“必须声明标量变量@rownum”

它有什么问题?

非常感谢!

 $sql1_1     = "SET @rownum := 0";



$sql2_2       =   "SELECT * FROM (
                      SELECT @rownum := @rownum + 1 AS rank, totalpoints, useridFB, game2points
                      FROM theuser ORDER BY game2points DESC
                      ) as result WHERE useridFB=1234";



        mssql_query($sql1_1); 
        $result = mssql_query($sql2_2);

        $row = mssql_fetch_array($result);
        $therank = $row['rank'];
4

1 回答 1

3

您在 SQL Server 中使用 MySql 语法。

使用该row_number()功能重现您当前的逻辑。

SELECT *
FROM   (SELECT row_number() OVER (ORDER BY game2points DESC) AS [rank],
               totalpoints,
               useridFB,
               game2points
        FROM   theuser) AS result
WHERE  useridFB = 1234  

或者,您可能需要rank根据您希望如何处理关系进行调查。

于 2011-04-11T14:55:45.997 回答