sql >> Database teknologi >  >> RDS >> PostgreSQL

postgres registrerer gentagne mønstre af nuller

Denne vil gøre det:

WITH d(y,v) AS (VALUES
    (1,0),(2,0),(3,0),(4,33),(5,72),
    (6,0),(7,0),(8,0),(9,0),(10,25),
    (11,0),(12,56),(13,37)
)
SELECT grp, numrange(min(y),max(y),'[]') as ys, count(*) as len
  FROM (
    /* group identifiers via running total */
    SELECT y, v, g, sum(g) OVER (ORDER BY y) grp
      FROM (
        /* group boundaries */ 
        SELECT y, v, CASE WHEN
                     v IS DISTINCT FROM lag(v) OVER (ORDER BY y) THEN 1
                     END g
          FROM d) s
     WHERE v=0) s
 GROUP BY grp
HAVING count(*) >= 3;



  1. Oracles dato og klokkeslæt uden sommertid via JDBC

  2. Skriv spark dataframe til postgres database

  3. Hvilken rækkes felter returneres ved gruppering med MySQL?

  4. Sådan returneres den oprindelige række i Postgres ved overtrædelse af en unik begrænsning