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

Come ottenere il numero di modifica?

Puoi ottenere questo nidificando due funzioni della finestra:la prima per ottenere se il src valore modificato rispetto alla riga precedente, la seconda per sommare il numero di modifiche. Sfortunatamente Postgres non consente direttamente le funzioni della finestra di nidificazione, ma puoi aggirarlo con una sottoquery:

SELECT
  id,
  src,
  sum(incr) OVER (ORDER BY id)
FROM (
  SELECT
    *,
    (lag(src) OVER (ORDER BY id) IS DISTINCT FROM src)::int AS incr
  FROM example
) AS _;