Oracle
 sql >> Baza danych >  >> RDS >> Oracle

uzyskać przedziały o niezmiennej wartości z ciągu liczb

Chcesz zidentyfikować grupy sąsiednich wartości. Jedną z metod jest użycie lag() aby znaleźć początek sekwencji, a następnie skumulowaną sumę w celu zidentyfikowania grup.

Inną metodą jest różnica w numerze wiersza:

select value, min(id) as from_id, max(id) as to_id
from (select t.*,
             (row_number() over (order by id) -
              row_number() over (partition by val order by id
             ) as grp
      from table t
     ) t
group by grp, value;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Podzapytanie Oracle w słowie kluczowym jest wolne na 12c

  2. ORA-06502:PL/SQL:błąd numeryczny lub wartości:bufor ciągu znaków za mały wyjątek od kodu C#

  3. oracle systimestamp (sysdate) do milisekund

  4. Zainstaluj klienta Oracle z wiersza poleceń bez interakcji z użytkownikiem

  5. Zwróć wartość zmiennej sql z wnętrza Oracle SQL Query z powrotem do kodu .NET