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

SQLで異常間隔を検出する

    これは私が今日見た難しい質問の1つでなければなりません-ありがとう! CTEを使用できると思いますか?もしそうなら、次のようなことを試してください:

    ;WITH Filtered
    AS
    (
        SELECT ROW_NUMBER() OVER (ORDER BY dateField) RN, dateField, Status
        FROM Test    
    )
    SELECT F1.RN, F3.MinRN,
        F1.dateField StartDate,
        F2.dateField Enddate
    FROM Filtered      F1, Filtered F2, (
    SELECT F1a.RN, MIN(F3a.RN) as MinRN
    FROM Filtered      F1a
       JOIN Filtered F2a ON F1a.RN = F2a.RN+1 AND F1a.Status = 2 AND F2a.Status <> 2
       JOIN Filtered F3a ON F1a.RN < F3a.RN AND F3a.Status <> 2
    GROUP BY F1a.RN ) F3 
    WHERE F1.RN = F3.RN AND F2.RN = F3.MinRN
    

    そして、フィドル 。間隔は追加しませんでしたが、ここからその部分を処理できると思います。

    頑張ってください。



    1. ole-dbのOracleプロバイダーのバージョンを確認する方法。 OraOLEDB.Oracleプロバイダー

    2. このDjango(1.6)の注釈カウントが非常に遅いのはなぜですか?

    3. 大きな結果セットを伴うPDO/MySQLメモリ消費

    4. PSQLでユーザーを作成する方法