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」を使うと簡単に小計行と総合計行を取得することができますね。

スポンサーリンク

-SQL Server
-, ,

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