検索

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

EventA と、後続の EventA の前にある前の EventB の間のレコードを特定の順序で照合します。

次のデータ (フィドル) があります。

###イベント### 12022-09-19 12:16:38イベント22022-09-19 12:16:383452022-09-19 12:25:18C62022-09-19 12:25:18D2022-09-19 12:25:28E82022-09-19 12:25:29F92022-09-19 12:25:382022-09-19 12:25:392022-09-19 12:25:402022-09-19 12:25:48イベント2022-09-19 12:29:08

他の 2 つの値の間で特定の順序で値を選択する方法がわかりません。 EVENTA と EVENTD の間のイベントのみが順番に返される必要があります。

したがって、結果は、ID が 1 から 4 および 9 から 13 である行

になるはずです。

次のようなことを実行しようとしましたが、ID 1、4、9、13 が得られ、その間のコンテンツが省略されました。

リーリー

そこで、これを使ってみました。

リーリー

結果は得られますが、テーブルには多くの行があります。

これを最後まで繰り返す方法を誰かが教えてくれませんか。方法はあると思いますが、方法がわかりません。

###挨拶、###

ピエール

P粉138711794P粉138711794287日前373

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

  • P粉924915787

    P粉9249157872024-04-02 09:46:58

    これは一方的な方法です:

    • 武装イベントと軍縮イベントの実行数を日付順に計算します
    • 軍縮イベントの数で並べ替え、武力イベント数ごとにレコードの並べ替えを計算します

    この時点で、armed_event パーティションに EventD がまだ存在しない場合、生成されるランキング値は 0 であると想定されることに注意してください。最初の EventD が見つかると、次の EventD が見つかるまでその値は 1 になります。

    したがって、このランク値が 0 または 1 で、イベントが "EventD" である場合、WHERE 句でそれに応じてフィルターをかけることができます。

    リーリー ######出力###:###

    id
  • id 日付
    #A
    2022-09-19 12:21:08 B
    2022-09-19 12:21:12 イベント
    ###7###
    イベント 10
    G 11
    H 12
    ######私###### 13 2022-09-19 12:27:18
    14 J
    日付 ###イベント### 2022-09-19 12:16:38 ###活動### ###1つ### 34 ###イベント### 2022-09-19 12:25:38 ###活動### GH ###私### ###イベント###

    返事
    0
  • キャンセル返事
  • 1
    2 2022-09-19 12:16:38
    2022-09-19 12:21:08 B
    2022-09-19 12:21:12 9
    10 2022-09-19 12:25:39
    11 2022-09-19 12:25:40
    12 2022-09-19 12:25:48
    13 2022-09-19 12:27:18