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

Bagaimana cara mendapatkan nomor ganti?

Anda dapat mencapai ini dengan menumpuk dua fungsi jendela - yang pertama untuk mendapatkan apakah src nilai berubah dari baris sebelumnya, yang kedua untuk menjumlahkan jumlah perubahan. Sayangnya Postgres tidak mengizinkan fungsi jendela bersarang secara langsung, tetapi Anda dapat mengatasinya dengan subkueri:

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. Cara Mengubah Gaya Batas Tabel di Hasil Query psql

  2. Bagaimana cara membulatkan rata-rata menjadi 2 tempat desimal di PostgreSQL?

  3. Gambaran Umum Parameter Koneksi PostgreSQL 13 libpq sslpassword

  4. Bagaimana cara men-debug prosedur tersimpan postgresql?

  5. Izinkan null di kolom unik