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

Hvordan får man ændringsnummeret?

Du kan opnå dette ved at indlejre to vinduesfunktioner - den første til at finde ud af, om src værdi ændret fra den forrige række, den anden for at summere antallet af ændringer. Desværre tillader Postgres ikke indlejringsvinduefunktioner direkte, men det kan du omgå med en underforespørgsel:

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 _;




  1. Opret forbindelse til en ekstern MySQL-database ved hjælp af Android

  2. Ukendt kolonnefejl i fuld joinsyntaks

  3. Hvordan kan jeg bruge executemany til at indsætte en liste over ordbøger i Python i MySQL

  4. Ret "FEJL:kolonnen "colname" eksisterer ikke" i PostgreSQL, når du bruger UNION, EXCEPT eller INTERSECT