首頁 > 資料庫 > mysql教程 > 如何在SQL Server中統計滿足特定條件的記錄並計算百分比?

如何在SQL Server中統計滿足特定條件的記錄並計算百分比?

Patricia Arquette
發布: 2025-01-11 13:06:46
原創
974 人瀏覽過

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

SQL Server 中的條件計數與 WHERE 子句

在 SQL Server 中,可以使用 COUNT() 聚合函數結合 WHERE 子句來統計滿足特定條件的記錄數。

以下範例的目標是統計 MyColumn 值等於 1 的記錄數。以下是修改後的查詢:

<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>
登入後複製

以下是查詢的步驟分解:

  1. 建立子查詢,用於統計每個 UID 群組中滿足條件 (MyColumn = 1) 的記錄數。
  2. 使用 UID 欄位將主查詢與子查詢連接。
  3. 將子查詢中的計數除以每個 UID 的記錄總數來計算 MyColumn 等於 1 的記錄的百分比。 注意,這裡將除數 100 改為 100.0 以確保浮點型除法,得到更精確的百分比結果。
  4. 將計算出的百分比用於 PercentageOfOne 欄位。

This revised query avoids potential integer division issues by using 100.0 instead of 100 in the percentage calculation, ensuring a more accurate floating-point result.

以上是如何在SQL Server中統計滿足特定條件的記錄並計算百分比?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板