ホームページ > データベース > 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 の割合の計算: 3 つのアプローチ

このガイドでは、SQL Server テーブル内の値のパーセンテージを計算するための 3 つの効果的な方法を説明します。 どの方法でも同じ結果が得られ、好みやデータベース構造に応じた柔軟性が得られます。

方法 1: ウィンドウ関数の効率

このアプローチでは、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 から導出された合計カウントを使用してパーセンテージを計算します。

3 つの方法はすべて同じ出力形式を生成します:

<code>Grade | Percentage
------------------
A      | 5%
B      | 15%
C      | 40%
D      | 40%</code>
ログイン後にコピー

以上がSQL Server テーブル内の値のパーセンテージを計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート