PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

postgres mendeteksi pola berulang dari nol

Yang ini akan melakukannya:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. bagaimana cara meniru insert abaikan dan pada pembaruan kunci duplikat (penggabungan sql) dengan postgresql?

  2. Apakah ada Postgresql Levenshtein multibyte-aware?

  3. Mendapatkan tanggal dengan offset zona waktu

  4. Fungsi pemicu Postgres

  5. PostgreSQL dengan parameter Order By / Limit dalam fungsi tabel