Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bandingkan baris ke-n dengan baris ke-n+1 dan jika terletak pada kisaran baris ke-n, cetak n+1 baris USNG ORACLE QUERY

Berikut adalah solusi menggunakan LAG function atau Oracle, yang memberi Anda akses ke baris sebelumnya.

Dan, Anda seharusnya hanya mendapatkan baris 2 dan 5 dari tabel Anda, sesuai dengan persyaratan yang Anda miliki, karena baris 6 memiliki end_no sebagai 224, yang tidak kurang dari end_no dari baris5 yaitu 223

SELECT id, name, start_no, end_no 
FROM (
    SELECT id, name, start_no, end_no, 
           lag(start_no, 1, 0) over (order by id) prev_start_no ,
           lag(end_no, 1, 0) over (order by id) prev_end_no
    FROM test
) 
WHERE start_no BETWEEN prev_start_no AND prev_end_no
AND end_no BETWEEN prev_start_no AND prev_end_no;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hitung perbedaan waktu dalam SQL dengan shift

  2. Konversikan keep density_rank dari kueri Oracle menjadi postgres

  3. Bagaimana memahami statistik file jejak di Oracle. Seperti CPU, waktu yang telah berlalu, kueri...dll

  4. Bagaimana menghubungkan database Oracle 11G menggunakan pengembang SQL dari komputer lain dalam koneksi LAN

  5. Batasan unik Oracle SQL A ke B, B ke A