Rumah > pangkalan data > tutorial mysql > Bolehkah COUNT() OVER (PARTITION BY ...) Mengendalikan Kiraan DISTINCT dalam SQL Server?

Bolehkah COUNT() OVER (PARTITION BY ...) Mengendalikan Kiraan DISTINCT dalam SQL Server?

DDD
Lepaskan: 2025-01-03 20:04:42
asal
801 orang telah melayarinya

Can COUNT() OVER (PARTITION BY ...) Handle DISTINCT Counts in SQL Server?

Kiraan Berbeza dengan Fungsi Pembahagian: COUNT() OVER vs. DISTINCT

Soalan ini meneroka penggunaan klausa OVER SQL dalam mengira kiraan yang berbeza . Pengguna cuba menggunakan fungsi COUNT() OVER (PARTITION BY ...) dengan kata kunci DISTINCT untuk mendapatkan jumlah pengguna unik yang sedang berjalan dalam bulan tertentu. Walau bagaimanapun, pendekatan ini menghadapi ralat.

Ralat timbul kerana fungsi OVER SQL Server pada masa ini tidak menyokong kata kunci DISTINCT dalam klausa partition. Akibatnya, pengguna tidak dapat menggunakan pengiraan yang berbeza semasa pembahagian.

Penyelesaian kepada isu ini ialah menggunakan fungsi dense_rank(). Ungkapan berikut mencapai output yang diingini:

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

Dengan menggunakan dense_rank() dua kali dan menolak keputusan, ungkapan itu mengira bilangan nilai berbeza dalam lajur yang ditentukan dalam setiap bulan dengan berkesan. Kaedah ini menyediakan kefungsian yang sama seperti yang dimaksudkan pada asalnya COUNT() OVER (PARTITION BY ...) dengan DISTINCT.

Atas ialah kandungan terperinci Bolehkah COUNT() OVER (PARTITION BY ...) Mengendalikan Kiraan DISTINCT dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan