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

主キーで行を選択し、他の列で「上」に1行、「下」に1行を選択するにはどうすればよいですか?

    まず、その特定のユーザーのスコアをクエリします。

    select  score
    from    users
    where   id = 42
    

    ユーザー42のスコアが6だとします。次に、次のように次のユーザーにクエリを実行できます。

    select  name
    ,       score
    from    users
    where   score > 6
    order by
            score
    limit   1
    

    前のユーザーは次のようになります:

    select  name
    ,       score
    from    users
    where   score < 6
    order by
            score desc
    limit   1
    


    1. NodeJSSequelizeでクエリによってグループをカウントする方法

    2. MaxMindのGeoLite2をMySQLにインポートする

    3. mysqlデータベースのserializeフィールドから検索するにはどうすればよいですか?

    4. Mybatis移行ツールで1つのトランザクションで複数のmysqlステートメントを実行する