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>
以下是查詢的步驟分解:
MyColumn
= 1) 的記錄數。 UID
欄位將主查詢與子查詢連接。 MyColumn
等於 1 的記錄的百分比。 注意,這裡將除數 100
改為 100.0
以確保浮點型除法,得到更精確的百分比結果。 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中文網其他相關文章!