複数の列でソートされた MySQL クエリから次/前のレコードを取得します
P粉006977956
P粉006977956 2024-03-22 11:08:54
0
1
318

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粉006977956
P粉006977956

全員に返信(1)
P粉763748806

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

リーリー

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート