Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

SQL Server:Fungsi analitik Lead/Lag di seluruh grup (dan bukan di dalam grup)

Coba kueri ini:

select cd.Dt
    , t.Dt_next
    , cd.customer_id
    , cd.buy_time
    , cd.money_spent
from (
    select Dt
        , LEAD(Dt) OVER (PARTITION BY customer_id ORDER BY Dt) AS Dt_next
        , customer_id
    from (
        select distinct Dt, customer_id
        from #customer_data
    ) t
) t
inner join #customer_data cd on t.customer_id = cd.customer_id and t.Dt = cd.Dt

Mengapa kolom money_spent memiliki tipe float? Anda mungkin memiliki masalah dengan perhitungan. Ubah ke bentuk desimal.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Fungsi agregat khusus (concat) di SQL Server

  2. Daftar Fungsi Tanggal dan Waktu di SQL Server (T-SQL)

  3. Mengapa menggunakan karakter Garis Bawah dalam filter LIKE memberi saya semua hasil?

  4. Buat Server Tertaut Antara Dua Kontainer Docker yang menjalankan SQL Server (Contoh T-SQL)

  5. gunakan 'antara' dengan varchar (server sql)