Rumah > pangkalan data > tutorial mysql > Bagaimana Mengira Rekod Memenuhi Syarat Tertentu dan Mengira Peratusan dalam SQL Server?

Bagaimana Mengira Rekod Memenuhi Syarat Tertentu dan Mengira Peratusan dalam SQL Server?

Patricia Arquette
Lepaskan: 2025-01-11 13:06:46
asal
974 orang telah melayarinya

How to Count Records Meeting a Specific Condition and Calculate Percentage in SQL Server?

Pengiraan bersyarat dan klausa WHERE dalam SQL Server

Dalam SQL Server, anda boleh menggunakan COUNT() fungsi agregat digabungkan dengan klausa WHERE untuk mengira bilangan rekod yang memenuhi syarat tertentu.

Matlamat contoh berikut adalah untuk mengira bilangan rekod dengan nilai MyColumn bersamaan dengan 1. Berikut ialah pertanyaan yang diubah suai:

<code class="language-sql">SELECT  UID, 
        COUNT(UID) AS TotalRecords, 
        SUM(ContractDollars) AS ContractDollars,
        (SELECT COUNT(*) 
         FROM dbo.AD_CurrentView AS Sub
         WHERE Sub.UID = Outer.UID AND Sub.MyColumn = 1) * 100.0 / COUNT(UID) AS PercentageOfOne
FROM    dbo.AD_CurrentView AS Outer
GROUP BY UID
HAVING  SUM(ContractDollars) >= 500000</code>
Salin selepas log masuk

Berikut ialah pecahan langkah pertanyaan:

  1. Buat subkueri untuk mengira bilangan rekod dalam setiap kumpulan UID yang memenuhi syarat (MyColumn = 1).
  2. Gunakan lajur UID untuk menyertai pertanyaan utama dengan subkueri.
  3. Kira peratusan rekod dengan MyColumn bersamaan dengan 1 dengan membahagikan kiraan dalam subkueri dengan jumlah bilangan rekod untuk setiap UID. Ambil perhatian bahawa pembahagi 100 ditukar kepada 100.0 untuk memastikan pembahagian titik terapung dan mendapatkan hasil peratusan yang lebih tepat.
  4. Gunakan peratusan yang dikira pada lajur PercentageOfOne.

Pertanyaan yang disemak ini mengelakkan potensi isu pembahagian integer dengan menggunakan 100.0 dan bukannya 100 dalam pengiraan peratusan, memastikan hasil titik terapung yang lebih tepat.

Atas ialah kandungan terperinci Bagaimana Mengira Rekod Memenuhi Syarat Tertentu dan Mengira Peratusan 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan