検索

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

各ステータスの時間を取得するSQLクエリ

以下に示すような表が与えられます

リーリー

州が変わった日付に基づいて各州で費やした時間を追跡する方法はありますか? 私が作業しているテーブルには日付列のみがあります。

望ましい結果は次のようになります

リーリー

扱うテーブルが 1 つだけなので、この問題をうまく解決できるクエリはありますか?このワークフローには、オープンのみが進行できるようにルールが設定されています。

その場合、これらのワークフロー状態の変更を使用して、基礎となるクエリを取得することは可能ですか?

P粉605385621P粉605385621277日前392

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

  • P粉505917590

    P粉5059175902024-02-26 16:29:29

    DBFIDDLE

    あなたの「質問」に対する私の最後のコメントにもかかわらず、私はフィドルを作成しました。オプションは 2 つあります:

      ###オプション1###
    • ###選択する DATEDIFF(COALESCE(LEAD(`Date`) OVER (ORDER BY `Date`),`date`),`Date`) as 'フェーズに費やした時間'、 「から」 このようなものから;
    出力:
    
    

    ステージ滞在時間 ###から### 2 ###開ける### ###7### ###進行中### 5検討中0オプション 2: ###選択する DATEDIFF(`Date`,COALESCE(LAG(`Date`) OVER (ORDER BY `Date`),`date`)) として 'フェーズに費やした時間'、 「から」 このようなものから;出力: ステージ滞在時間
    ###仕上げる###
    ###から###
    0
    ###開ける###

    2 ###進行中### ###7### 5 ###仕上げる### 追記: この回答では、MySQL 8.0 関数 および LAG を使用しています。 MySQL 8.0 ではなく古いバージョンを使用している場合、この回答は役に立たない可能性があります...
    検討中
    LEAD

    返事
    0
  • キャンセル返事