0

私のクエリの 1 つは、ゲームのランキングです。

クエリは以下のとおりで、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 に答える