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

Jak przechowywać wynik SQL w zmiennej i przeanalizować wynik w celu zidentyfikowania możliwego wzorca?

Jeśli dobrze rozumiem, możesz zrobić coś takiego:

select count(*)
from (select listagg(flag) within group (order by dt) as flags
      from temp
     ) x
where not regexp_like(flags, 'HH|EE|HS|SE');

Alternatywnie możesz użyć lag() :

select (case when count(*) = sum(case when flag2 not in ('HH', 'EE', 'HS', 'SE')
             then 1 else 0
        end) as return_value
from (select t.*,
             (lag(flag) over (order by dt) || flag) as flag2
      from temp
     ) 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. Czy możliwe jest zapytanie kolumny oddzielonej przecinkami dla określonej wartości?

  2. Łączenie się z bazą danych Oracle przez Excel

  3. Pobieranie zrzutu tabel w oracle 10g przy użyciu procedury PL/SQL

  4. Użyj aliasu kolumny w tym samym zaznaczeniu

  5. Czy zmienne PL/SQL w kursorach są faktycznie takie same jak parametry wiązania?