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

アイテムを時間別にグループ化するSQLクエリですが、互いに近い場合のみですか?

    これは「島の問題」と呼ばれ、私はこれを解決策として見てきました (クレジット Itzik Ben Gan)

    select  tool_number,
            min(time) 'in',
            max(time) 'out',
            count(*)
    from    (
        select  tool_number,
                time,
                ROW_NUMBER() OVER (ORDER BY time) - ROW_NUMBER() OVER (PARTITION BY Tool_Number ORDER BY time) AS Grp
        from    #temp
        ) as a
    group by grp, tool_number
    order by min(time)
    


    1. DBLINKを介してOracleユーザー定義型を参照していますか?

    2. Oracleで最後に実行されたSQLステートメントを取得して変数値をバインドする方法

    3. ORA-12505、TNS:listenerは現在、connectdesで指定されたSIDを認識していません

    4. 内部結合Where句