PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да получа номера на промяната?

Можете да постигнете това чрез влагане на две прозоречни функции - първата, която получава дали src стойност, променена от предишния ред, вторият за сумиране на броя промени. За съжаление Postgres не позволява директно влагане на прозоречни функции, но можете да заобиколите това с подзаявка:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Цикъл върху измерението на масива в plpgsql

  2. НЕ МОЖЕ ДА СЕ ПРЕДОСТАВЯ СЪЗДАВАНЕ НА ИЗГЛЕД НА СХЕМА

  3. липсва запис в клауза FROM за таблица

  4. Pgadmin не се зарежда

  5. PostgreSQL:Променете OWNER на всички таблици едновременно в PostgreSQL