


Bolehkah COUNT() OVER (PARTITION BY ...) Mengendalikan Kiraan DISTINCT dalam SQL Server?
Jan 03, 2025 pm 08:04 PMKiraan 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
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!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Kurangkan penggunaan memori MySQL di Docker

Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table?

Cara menyelesaikan masalah MySQL tidak dapat membuka perpustakaan bersama

Jalankan MySQL di Linux (dengan/tanpa bekas podman dengan phpmyadmin)

Apa itu SQLite? Gambaran Keseluruhan Komprehensif

Menjalankan Pelbagai Versi MySQL di MacOS: Panduan Langkah demi Langkah

Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL?

Bagaimanakah saya menjamin MySQL terhadap kelemahan biasa (suntikan SQL, serangan kekerasan)?
