sql >> Databasteknik >  >> RDS >> PostgreSQL

postgres upptäcker upprepade mönster av nollor

Den här kommer att göra 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. MySQL - uppdaterar alla poster för att matcha maxvärdet i gruppen

  2. hur man infogar flera arrayer i databasen med PHP

  3. Är det möjligt att fråga en trädstrukturtabell i MySQL i en enda fråga, till vilket djup som helst?

  4. EasyPHP 16.1 autostart http &mysql