Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Nhóm các hàng xem xét sự khác biệt giữa các hàng

Tôi sử dụng truy vấn phụ với phân tích để xác định và nhóm các phạm vi liền kề:

SQL> WITH test_data AS (
  2    SELECT  0 s, 2 dur FROM dual UNION ALL   --# ■■
  3    SELECT  2  , 2     FROM dual UNION ALL   --#   ■■
  4    SELECT 10  , 1     FROM dual UNION ALL   --#           ■
  5    SELECT 13  , 4     FROM dual UNION ALL   --#              ■■■■
  6    SELECT 15  , 4     FROM dual             --#                ■■■■
  7  )
  8  SELECT MIN(s) "begin", MAX(s + dur) "end"
  9    FROM (SELECT s, dur, SUM(gap) over(ORDER BY s) my_group
 10             FROM (SELECT s, dur,
 11                           CASE
 12                              WHEN lag(s + dur) over(ORDER BY s) >= s - 5 THEN
 13                               0
 14                              ELSE
 15                               1
 16                           END gap
 17                      FROM test_data
 18                     ORDER BY s))
 19   GROUP BY my_group;

     begin        end
---------- ----------
         0          4
        10         19


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Java:Gọi một thủ tục được lưu trữ trong cơ sở dữ liệu oracle

  2. Không phải lỗi biểu thức GROUP BY

  3. DB ORACLE QUERY

  4. Làm thế nào để kiểm tra không gian bảng trong Oracle SQL Developer?

  5. Tôi có bỏ lỡ bất kỳ thay đổi nào nếu tôi thay thế một trình kích hoạt oracle trong khi ứng dụng của tôi đang chạy không?