首頁 > 資料庫 > mysql教程 > 如何計算 SQL Server 表中值的百分比?

如何計算 SQL Server 表中值的百分比?

Linda Hamilton
發布: 2025-01-17 04:16:13
原創
354 人瀏覽過

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

SQL Server 百分比計算:三種方法

本指南示範了計算 SQL Server 表中數值的百分比的三種有效方法。 每種方法都達到相同的結果,根據您的偏好和資料庫結構提供靈活性。

方法一:窗函數效率

此方法利用 OVER() 視窗函數來提供簡潔且有效率的解決方案:

<code class="language-sql">SELECT Grade, COUNT(*) * 100.0 / SUM(COUNT(*)) OVER() AS Percentage
FROM MyTable
GROUP BY Grade;</code>
登入後複製

OVER() 子句計算所有行的總計數,為百分比計算提供直接基礎。

方法2:通用方法

更簡單的方法,適用於各種 SQL 方言,涉及子查詢:

<code class="language-sql">SELECT Grade, COUNT(*) * 100.0 / (SELECT COUNT(*) FROM MyTable) AS Percentage
FROM MyTable
GROUP BY Grade;</code>
登入後複製

這直接將每個等級的計數除以從子查詢獲得的總行數。

方法3:通用表表達式(CTE)

為了增強可讀性和模組化,可以使用 CTE:

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

CTE 先計算每個等級的計數,然後主查詢使用從 CTE 得出的總計數計算百分比。

三種方法都會產生相同的輸出格式:

<code>Grade | Percentage
------------------
A      | 5%
B      | 15%
C      | 40%
D      | 40%</code>
登入後複製

以上是如何計算 SQL Server 表中值的百分比?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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