Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да изчислим промените в Oracle sql

Опитайте това:

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. SQL Избор на MIN стойност от ред данни с нулеви стойности

  2. как да използвате COALESCE в oracle за комбиниране на данни от два реда

  3. Какво представлява маската за форматиране на дата на Oracle за часови зони?

  4. Регулярен израз за REGEXP_SUBSTR в Oracle

  5. Oracle:Достъп само за четене до схемата за друг потребител?