Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengira Jumlah Nilai Berbeza yang Berjalan dalam Pemisahan Pelayan SQL?

Bagaimana untuk Mengira Jumlah Nilai Berbeza yang Berjalan dalam Pemisahan Pelayan SQL?

Patricia Arquette
Lepaskan: 2025-01-05 00:06:37
asal
811 orang telah melayarinya

How to Calculate a Running Total of Distinct Values in SQL Server Partitions?

Fungsi PARTITION COUNT() OVER dengan DISTINCT

Menggunakan fungsi PARTITION dengan COUNT() untuk mengira jumlah berjalan nilai berbeza boleh mencabar dalam SQL Server. Walaupun kata kunci DISTINCT disokong dalam fungsi agregat, ia tidak boleh digunakan dalam fungsi partition. Had ini boleh mengecewakan, terutamanya apabila cuba mengira jumlah larian bagi nilai berbeza.

Satu kaedah tradisional untuk mengira kiraan berbeza ialah menggunakan subkueri berkorelasi. Walau bagaimanapun, pendekatan ini boleh menjadi tidak cekap dan sukar untuk dikekalkan.

Nasib baik, terdapat penyelesaian mudah menggunakan dense_rank():

dense_rank() over (partition by [Mth] order by [UserAccountKey]) 
+ dense_rank() over (partition by [Mth] order by [UserAccountKey] desc) 
- 1
Salin selepas log masuk

Ungkapan ini mengira jumlah berjalan UserAccountKeys yang berbeza dalam setiap bulan. Ia berfungsi dengan terlebih dahulu menyusun nilai dalam tertib menaik, kemudian menyusunnya dalam tertib menurun, dan akhirnya menolak satu daripada jumlah dua pangkat. Pendekatan ini secara berkesan menghapuskan nilai pendua sambil menyediakan kiraan larian bagi nilai yang berbeza.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Jumlah Nilai Berbeza yang Berjalan dalam Pemisahan Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan