【初学者必見!】SQLの基本、実務使用例を徹底解説!SUM編

サムネイル SQL

※この記事にはプロモーションが含まれています。

ふりかえり

筆者
筆者

本記事は、SQLの基本、実務使用例編になります。

SQLの基礎に関しましては、

【初学者必見!】SQLの超基礎編の記事をご覧くださいませ。

A子
A子

本編に入ります!

関数の基本構文

筆者
筆者

まずは、基本構文から見ていきましょう!

select sum(数値カラム) as 合計値 from テーブル名;

A子
A子

select,sum,as,fromね!

筆者
筆者

はい、そうです!

sum 関数は、特定の列にある数値データを合計するための関数です。
例えば、「売上金額」や「勤務時間」などの数値を合計したいときに使用します。

sum(数値カラム):指定したカラムの合計値を計算します。

as 合計値:結果のカラム名を「合計値」としてわかりやすく表示します。

from テーブル名:合計値を計算する対象のテーブルを指定します。

実務レベルの使用例を見ていこう!

筆者
筆者

実際に、SQLを使用してデータを確認していきましょう。

SQLに関しては以下を使用して解説していきます。

create table文、select文、insert文、update文、delete文、

drop table文、につきましては、過去にアップロードした

【初学者必見!】SQLの超基礎編の記事をご覧くださいませ。

A子
A子

目次の、「ふりかえり」のところにそれぞれの記事のリンクが

貼ってあるよ!

または、サイドバーのカテゴリーにSQLがあるから、そちらからでも

参照できます!

[事前準備]今回、実行するSQLの一覧

-- 申請管理情報テーブルの作成
create table 申請管理情報 (
    STAFF_NO varchar2(10) not null,   -- 職員番号 (Staff Number) 
    APPLI_NO varchar2(10) not null,   -- 申請番号 (Application Number) 
    APPLI_DATE date,                  -- 申請年月日 (Application Date) 
    DEPARTMENT varchar2(10),          -- 部署名(Department)
    constraint PK_申請管理情報 primary key (STAFF_NO, APPLI_NO)

);

insert into 申請管理情報 (STAFF_NO, APPLI_NO, APPLI_DATE, DEPARTMENT) 
values ('1001', 'A001', TO_DATE('2024-02-25', 'YYYY-MM-DD'),'営業');
insert into 申請管理情報 (STAFF_NO, APPLI_NO, APPLI_DATE, DEPARTMENT) 
values ('1001', 'A002', TO_DATE('2024-02-26', 'YYYY-MM-DD'),'営業');
insert into 申請管理情報 (STAFF_NO, APPLI_NO, APPLI_DATE, DEPARTMENT) 
values ('1002', 'A003', TO_DATE('2024-02-27', 'YYYY-MM-DD'),'開発');
insert into 申請管理情報 (STAFF_NO, APPLI_NO, APPLI_DATE, DEPARTMENT) 
values ('1002', 'a003', TO_DATE('2024-01-27', 'YYYY-MM-DD'),'開発');
insert into 申請管理情報 (STAFF_NO, APPLI_NO, APPLI_DATE, DEPARTMENT) 
values ('1003', 'A004', TO_DATE('2024-02-28', 'YYYY-MM-DD'),'営業');

部署ごとの申請件数を合計する

select 
    department,
    count(*) as total_applications
from 申請管理情報
group by department;

count(*) を使って、各部署ごとの申請件数を集計します。

group by department によって、部署ごとに集計を行います。

特定の職員が行った申請数を合計する

select 
    staff_no, 
    count(*) as total_applications
from 申請管理情報
group by staff_no;

count(*) を使って staff_no ごとに申請数を集計します。

group by staff_no によって、職員単位での集計を行います。

特定の日付範囲内の申請件数を合計する

select 
    count(*) as total_applications
from 申請管理情報
where appli_date >= to_date('2024-02-01', 'YYYY-MM-DD');

where appli_date >= to_date('2024-02-01', 'YYYY-MM-DD') で、2024年2月1日以降のデータを対象にします。

count(*) でその件数を取得します。

sum 関数を使用して仮の数値データを集計する

select 
    staff_no, 
    sum(1) as total_points
from 申請管理情報
group by staff_no;

sum(1) は、各申請に対して「1ポイント」として合計する意味になります。

group by staff_no によって職員ごとの合計を計算します。

まとめ

sum は主に数値を合計するための関数ですが、数値データがない場合でも sum(1) のように使えます。

申請件数の集計には count(*) が便利です。group by を使うと、職員ごとや部署ごとの集計が可能です。

筆者
筆者

sumについて解説しました。

sumcount を活用することで、申請データを分析しやすくなります!

次回もお楽しみに!

この記事を書いた人
たくたく

文系出身・3年目のWeb系エンジニアです。
C#とSQLを得意としています。
同棲生活は2年目に入り、日々仲良く楽しく暮らしています。
プライベートではバイクや車で旅行に行くことが趣味です。
サンリオ好きで、中でもシナモン推しです。
お酒好きとして毎週の晩酌をリラックスタイムにしています。

たくたくをフォローする
SQLエンジニア
シェアする

コメント

タイトルとURLをコピーしました