本帖最后由 trial 于 2011-08-01 10:46:48 编辑

解决方案 »

  1.   


    SELECT USERNO,
           COUNT(CASE
                   WHEN STARTTIME < L_ENDTIME THEN
                    1
                   ELSE
                    NULL
                 END) AS CNT
      FROM (SELECT USERNO,
                   STARTTIME,
                   LAG(ENDTIME, 1, STARTTIME) OVER(PARTITION BY USERNO ORDER BY ENDTIME) AS L_ENDTIME
              FROM A)
     GROUP BY USERNO;