Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengira Peratusan Nilai dalam Jadual Pelayan SQL?

Bagaimana untuk Mengira Peratusan Nilai dalam Jadual Pelayan SQL?

Linda Hamilton
Lepaskan: 2025-01-17 04:16:13
asal
354 orang telah melayarinya

How to Calculate Percentages of Values in a SQL Server Table?

Pengiraan Peratusan Pelayan SQL: Tiga Pendekatan

Panduan ini menunjukkan tiga kaedah berkesan untuk mengira peratusan nilai dalam jadual SQL Server. Setiap kaedah mencapai hasil yang sama, menawarkan fleksibiliti bergantung pada pilihan anda dan struktur pangkalan data.

Kaedah 1: Kecekapan Fungsi Tetingkap

Pendekatan ini memanfaatkan OVER() fungsi tetingkap untuk penyelesaian yang ringkas dan cekap:

<code class="language-sql">SELECT Grade, COUNT(*) * 100.0 / SUM(COUNT(*)) OVER() AS Percentage
FROM MyTable
GROUP BY Grade;</code>
Salin selepas log masuk

Klausa OVER() mengira jumlah kiraan merentas semua baris, memberikan asas langsung untuk pengiraan peratusan.

Kaedah 2: Pendekatan Universal

Kaedah yang lebih mudah, sesuai untuk pelbagai dialek SQL, melibatkan subkueri:

<code class="language-sql">SELECT Grade, COUNT(*) * 100.0 / (SELECT COUNT(*) FROM MyTable) AS Percentage
FROM MyTable
GROUP BY Grade;</code>
Salin selepas log masuk

Ini membahagikan terus kiraan setiap gred dengan jumlah kiraan baris yang diperoleh daripada subkueri.

Kaedah 3: Ungkapan Jadual Biasa (CTE)

Untuk kebolehbacaan dan modulariti yang dipertingkatkan, CTE boleh digunakan:

<code class="language-sql">WITH GradeCounts AS (
    SELECT Grade, COUNT(*) AS GradeCount
    FROM MyTable
    GROUP BY Grade
)
SELECT Grade, GradeCount * 100.0 / (SELECT SUM(GradeCount) FROM GradeCounts) AS Percentage
FROM GradeCounts;</code>
Salin selepas log masuk

CTE mula-mula mengira kiraan untuk setiap gred, kemudian pertanyaan utama mengira peratusan menggunakan jumlah kiraan yang diperoleh daripada CTE.

Ketiga-tiga kaedah menghasilkan format output yang sama:

<code>Grade | Percentage
------------------
A      | 5%
B      | 15%
C      | 40%
D      | 40%</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mengira Peratusan Nilai dalam Jadual Pelayan SQL?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan