SQL Server

SQLServerで「WITH ROLLUP」を使って小計、総合計を出力する

投稿日:2014/11/05 更新日:

SQLServerでは「WITH ROLLUP」を利用すると簡単に小計、総合計を出力することができます。

「WITH ROLLUP」を使って小計、総合計を出力

SQLで小計、総合計を出力を出力するにはGroup BY句に「WITH ROLLUP」を指定します、

テーブル準備

男女別、教科別の得点を管理できるテーブルを作成します。

データ準備

テーブルに国語、数学、英語ごとに男女それぞれ2名分のデータを作成します。

WITH ROLLUPを使って小計行、総合計行を取得

「WITH ROLLUP」を使って実際に教科ごと、男女別に小計行と総合計行を取得します。

実行結果は

教科 性別 合計点
英語 BOY 30
英語 GIRL 70
英語 BOYS AND GIRLS 100
国語 BOY 35
国語 GIRL 105
国語 BOYS AND GIRLS 140
数学 BOY 50
数学 GIRL 115
数学 BOYS AND GIRLS 165
全教科合計 BOYS AND GIRLS 405

となり、男女別の小計行と総合計行が出力されています。

ちなみに「WITH ROLLUP」がないと

教科 性別 合計点
英語 BOY 30
国語 BOY 35
数学 BOY 50
英語 GIRL 70
国語 GIRL 105
数学 GIRL 115

と小計行と総合計行が出力されません。
あたりまえですね。

テーブル削除

テーブルを削除しておきます。

このように「WITH ROLLUP」を使うと簡単に小計行と総合計行を取得することができますね。

当サイトのおすすめ記事

パソコン 1

初心者でも失敗しないレンタルサーバーの選び方ですが、最近ではブログを立ち上げて、そこから広告収入を得る「アフィリエイト」が随分一般的になりました。 私の周りでも実際にやっている人が多くいます。 アフィ ...

プログラミング 2

SQLでIFを書けばWHERE句の内容を変えて検索できますが、条件ごとに同じようなSQLを 複数回書くのは面倒なので、1行で分岐できないかと言う事でSQLを作って見ました。 SQLでIFを使わずに条件 ...

SQLServer 3

SQLServerで発生するエラーコードをSQLで取得する SQLServerで発生したエラーコードの内容を メッセージが定義されているテーブルから取得します。 エラーコードを取得するSQL SQLs ...

4

SQLServerでは「ユーザー定義型」と呼ばれる独自のテーブル型をした戻り値を返す関数を作成することができます。 その作り方と使い方を解説します。 SQLServerでテーブル型を戻り値とする関数を ...

5

アフィリエイトでいきなり成果を出すのは難しいです。 でも、成果がないとレンタルサーバー代やドメイン代がペイできません。 しかも長い間、結果がでないとやる気もなくなってしまいます。 そういったことを防ぐ ...

-SQL Server
-, ,

Copyright© ソフトウェア開発日記 , 2018 All Rights Reserved.