sql >> データベース >  >> RDS >> PostgreSQL

postgresはゼロの繰り返しパターンを検出します

    これはそれを行います:

    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. OracleDatabaseでのOracleJDeveloper12cの使用、パート1

    2. 選択クエリを使用してMySQLレプリケーションステータスを知る方法は?

    3. RailsでActiveRecordを使用して、データベースからn行ごとに返します

    4. SQLサーバーでUTCミリ秒をDATETIMEに変換する