sql >> データベース >  >> RDS >> Mysql

私のiPhoneゲームのハイスコアシステム

    プレーヤーudid1のランクをデータベースに照会する方法は次のとおりです。 :

    SELECT COUNT(*) AS rank
    FROM tablename
    WHERE score > (SELECT score FROM tablename WHERE udid = 1)
    

    スコアが高いほど良いと思います。各プレーヤーの最高スコアのみを保存します。

    scoreにインデックスを付ける およびudid 、これはかなりスピーディーなはずです。

    クエリは、選択したユーザーよりもスコアが高いユーザーの数をカウントします。

    スコアが低い方が良い場合は、次のように変更してください:

    SELECT COUNT(*) AS rank
    FROM tablename
    WHERE score < (SELECT score FROM tablename WHERE udid = 1)
    

    これは、スコアが低いプレーヤーの数をカウントします。

    MySQLインデックス についてすべて読む 。



    1. 3つのラジオボタンリストをmysqlデータベースの単一の列、異なる行に保存するにはどうすればよいですか?

    2. MySQL、空の値に相当するものを合体させますか?

    3. MySQLに値を挿入するためのBashスクリプト

    4. 英数字の文字列を数値部分で並べ替えるためのSQL