sql >> Database teknologi >  >> RDS >> Oracle

Hvordan gemmer man SQL-resultat i en variabel og analyserer resultatet for at identificere et muligt mønster?

Hvis jeg forstår det rigtigt, kan du gøre sådan noget:

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');

Alternativt kan du bruge 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. Skal forbindelsestabeller have mere end én primær nøgle fra en anden identifikationstabel?

  2. Kolonnesammenkædning returnerer Null Mysql - Php

  3. Returnerer værdier fra MyBatis <insert> tilknyttede metoder

  4. Sådan skjuler du resultatsæt-dekoration i Psql-output