DB2 SQL 计算嵌套层级

DB2 SQL 计算嵌套层级

CREATE TABLE log(timestamp TIMESTAMP, event CHAR(3));

insert into log values('2006-03-02 04:12:16.124565','In');
insert into log values('2006-03-02 04:12:19.134514','In');
insert into log values('2006-03-02 04:13:42.424085','Out');
insert into log values('2006-03-02 04:15:31.872452','In');
insert into log values('2006-03-02 04:16:42.004545','In');
insert into log values('2006-03-02 04:17:01.994432','In');
insert into log values('2006-03-02 04:17:23.569474','Out');
insert into log values('2006-03-02 04:22:25.946465','Out');
insert into log values('2006-03-02 04:32:19.543438','In');
insert into log values('2006-03-02 04:46:51.643544','Out');
insert into log values('2006-03-02 04:42:00.836468','Out');
insert into log values('2006-03-02 04:33:58.172535','Out');


 TIMESTAMP                  EVENT
 -------------------------- -----
 2006-03-02 04:12:16.124565 In
 2006-03-02 04:12:19.134514 In
 2006-03-02 04:13:42.424085 Out
 2006-03-02 04:15:31.872452 In
 2006-03-02 04:16:42.004545 In
 2006-03-02 04:17:01.994432 In
 2006-03-02 04:17:23.569474 Out
 2006-03-02 04:22:25.946465 Out
 2006-03-02 04:32:19.543438 In
 2006-03-02 04:33:58.172535 Out
 2006-03-02 04:42:00.836468 Out
 2006-03-02 04:46:51.643544 Out

SELECT REPEAT('|', SUM(CASE event
                WHEN 'In'
                    THEN 1
                WHEN 'Out'
                    THEN - 1
                END) OVER (
            ORDER BY TIMESTAMP
            ) + CASE event
            WHEN 'In'
                THEN - 1
            ELSE 0
            END) || CASE event
        WHEN 'In'
            THEN '>'
        WHEN 'Out'
            THEN '<'
        END AS nesting
    ,TIMESTAMP
    ,event
FROM Log
ORDER BY TIMESTAMP;

 NESTING TIMESTAMP                  EVENT
 ------- -------------------------- -----
 >       2006-03-02 04:12:16.124565 In
 |>      2006-03-02 04:12:19.134514 In
 |<      2006-03-02 04:13:42.424085 Out
 |>      2006-03-02 04:15:31.872452 In
 ||>     2006-03-02 04:16:42.004545 In
 |||>    2006-03-02 04:17:01.994432 In
 |||<    2006-03-02 04:17:23.569474 Out
 ||<     2006-03-02 04:22:25.946465 Out
 ||>     2006-03-02 04:32:19.543438 In
 ||<     2006-03-02 04:33:58.172535 Out
 |<      2006-03-02 04:42:00.836468 Out
 <       2006-03-02 04:46:51.643544 Out


请使用浏览器的分享功能分享到微信等