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

Bagaimana menghitung perubahan dalam Oracle sql

Coba ini:

select t.* 
, case when attr1 != LAG(attr1, 1, attr1) OVER (PARTITION BY hid_1, hid_2 ORDER BY attr5) then 1 else 0 end +
  case when attr2 != LAG(attr2, 1, attr2) OVER (PARTITION BY hid_1, hid_2 ORDER BY attr5) then 1 else 0 end +
  case when attr3 != LAG(attr3, 1, attr3) OVER (PARTITION BY hid_1, hid_2 ORDER BY attr5) then 1 else 0 end +
  case when attr4 != LAG(attr4, 1, attr4) OVER (PARTITION BY hid_1, hid_2 ORDER BY attr5) then 1 else 0 end as attr6
from t


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL - Bagaimana cara mendapatkan jumlah yang berbeda untuk setiap kolom secara dinamis?

  2. Oracle SqlPlus - menyimpan output dalam file tetapi tidak ditampilkan di layar

  3. Buat pemicu untuk dimasukkan ke tabel lain

  4. RAWTOHEX() Fungsi di Oracle

  5. apakah mungkin untuk memiliki generator urutan alfanumerik di sql