検索

ホームページ  >  に質問  >  本文

複数の列でソートされた MySQL クエリから次/前のレコードを取得します

MySQL データベース (MariaDB 10.3) を介して次のようにクエリを実行しています:

リーリー

指定された順序でのこのテーブルの例は次のようになります:

###優先度### ###有効期限### 3... ###7### 22111 現在、特定のレコードの ID があり、SQL を介してクエリ結果内のそのレコードの前後にあるレコードを指定された順序で取得しようとしています。レコード ID があり、ID 9 と
id ...
2 2022-07-01 12:00:00 ...
2022-07-03 12:00:00 6 ...
2022-07-04 12:00:00 9 ...
2022-07-02 12:00:00 4 ...
2022-07-05 12:00:00 11 ...
2022-07-05 12:00:00 6
7

のレコードをそれぞれ返したいとします。 単一の一意の列で並べ替えます。これは単一のクエリで簡単に取得できますが、複数の一意でない列を処理する方法がわかりません。誰かがこれを達成する方法を教えてもらえますか?

P粉006977956P粉006977956255日前314

全員に返信(1)返信します

  • P粉763748806

    P粉7637488062024-03-23 10:39:29

    Paul Maxwell の LEADLAG に関するヒントに従って、次のような実用的なクエリを作成できました。

    リーリー

    LAG に対応する前のレコードを取得します。

    返事
    0
  • キャンセル返事