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

MYSQLでアイテムを選択する方法、下のアイテムと上のアイテム

    UNIONを使用してこれを行う別の方法があります s。これは、受け入れられた答えよりも少し理解しやすく、柔軟性があると思います。この例では、idを想定していることに注意してください。 フィールドは一意であり、あなたの質問に基づいているようです。

    以下のSQLクエリは、テーブルの名前がdemoであることを前提としています。 一意のidが1つあります フィールドに入力すると、質問にリストした値がテーブルに入力されます。

    ( SELECT id FROM demo WHERE STRCMP ( 'd01', id ) > 0 ORDER BY id DESC LIMIT 1 )
    UNION ( SELECT id FROM demo WHERE id = 'd01' ORDER BY id ) UNION 
    ( SELECT id FROM demo WHERE STRCMP ( 'd01', id ) < 0 ORDER BY id ASC LIMIT 1 ) 
    ORDER BY id
    

    次の結果が生成されます:b03, d01, d02

    このソリューションは、各LIMIT 1を変更できるため、柔軟性があります。 LIMIT Nへのステートメント ここで、N 任意の数です。そうすれば、たとえば、前の3行と次の6行を取得できます。



    1. djangoテストアプリエラー-テストデータベースの作成中にエラーが発生しました:データベースの作成が許可されていません

    2. XAMPP-エラー:MySQLが予期せずシャットダウンしました

    3. Oracle Pivotクエリは、列名を引用符で囲んだ列を提供します。何?

    4. mysqldumpを使用せずにクエリを使用してデータベースをバックアップする