カテゴリ: COBOL 更新日: 2025/11/26

COBOLで学ぶSELECT文のORDER BY・GROUP BY活用法!初心者でもわかるデータ集計

SELECT文のORDER BYやGROUP BYを活用する方法
SELECT文のORDER BYやGROUP BYを活用する方法

先生と生徒の会話形式で理解しよう

生徒

「先生、COBOLでデータベースからデータを取得するとき、並べ替えや集計はできますか?」

先生

「もちろんです。SQLのORDER BYGROUP BYを使うと、データを並べ替えたり、特定の条件で集計することができます。」

生徒

「具体的にはどう書くんですか?」

先生

「それでは、順番にわかりやすく説明していきます。」

1. ORDER BYとは?

1. ORDER BYとは?
1. ORDER BYとは?

COBOLでSQLを使う場合、ORDER BYは検索結果を特定の順序で並べ替えるための句です。例えば社員テーブルから社員を年齢順に取得したい場合に便利です。並べ替えを理解すると、データを見やすく整理して出力することができます。

2. GROUP BYとは?

2. GROUP BYとは?
2. GROUP BYとは?

GROUP BYは、特定の列でデータをグループ化し、集計関数(SUM, COUNT, AVGなど)と組み合わせて使用します。たとえば、部署ごとの社員数を調べる場合に使います。データの集計を行うことで、分析やレポート作成が簡単になります。

3. ORDER BYの基本例

3. ORDER BYの基本例
3. ORDER BYの基本例

WORKING-STORAGE SECTION.
01  EMP-NAME   PIC X(20).
01  EMP-AGE    PIC 9(3).

PROCEDURE DIVISION.
    EXEC SQL
        SELECT EMP_NAME, AGE
        INTO :EMP-NAME, :EMP-AGE
        FROM EMPLOYEE
        ORDER BY AGE DESC
    END-EXEC.

    IF SQLCODE = 0
        DISPLAY "取得成功:" EMP-NAME " (年齢:" EMP-AGE ")"
    ELSE
        DISPLAY "取得失敗:" SQLCODE
    END-IF.

取得成功:山田太郎 (年齢:45)
取得成功:田中花子 (年齢:38)

この例では、社員を年齢の降順で並べ替えて取得しています。ASCを使うと昇順、DESCを使うと降順になります。

4. GROUP BYの基本例

4. GROUP BYの基本例
4. GROUP BYの基本例

WORKING-STORAGE SECTION.
01  DEPT-NAME  PIC X(10).
01  EMP-COUNT  PIC 9(4).

PROCEDURE DIVISION.
    EXEC SQL
        SELECT DEPT, COUNT(*)
        INTO :DEPT-NAME, :EMP-COUNT
        FROM EMPLOYEE
        GROUP BY DEPT
    END-EXEC.

    IF SQLCODE = 0
        DISPLAY DEPT-NAME " 部署の社員数:" EMP-COUNT
    ELSE
        DISPLAY "取得失敗:" SQLCODE
    END-IF.

営業 部署の社員数:12
開発 部署の社員数:8

この例では、部署ごとに社員数を集計しています。部署名(DEPT)でグループ化し、COUNT関数で社員数を計算しています。

5. ORDER BYとGROUP BYを組み合わせる

5. ORDER BYとGROUP BYを組み合わせる
5. ORDER BYとGROUP BYを組み合わせる

ORDER BYとGROUP BYは組み合わせることができます。例えば部署ごとの社員数を降順に並べたい場合です。


EXEC SQL
    SELECT DEPT, COUNT(*)
    INTO :DEPT-NAME, :EMP-COUNT
    FROM EMPLOYEE
    GROUP BY DEPT
    ORDER BY COUNT(*) DESC
END-EXEC.

このSQLでは、社員数の多い部署から順に結果が表示されます。分析レポートや統計データ作成の際に非常に役立ちます。

6. 初心者向けポイント

6. 初心者向けポイント
6. 初心者向けポイント

ORDER BYやGROUP BYを使うことで、データを見やすく整理したり、集計して分析することができます。SQLコードをCOBOLに埋め込む際には、必ずEXEC SQLEND-EXECで囲むこと、またSQLCODEでエラーを確認することが安全です。初心者でも順番に理解しながら書くことで、データベース操作が楽になります。

カテゴリの一覧へ
新着記事
C#のコーディング規約(C# Coding Conventions)とは?読みやすいコードを書くための基本ルール
C#のデストラクタ(ファイナライザ)の使い方と注意点をやさしく解説!
COBOL資産のバージョン管理とは?初心者でもわかる保守と管理の基本
COBOLのUSAGE句(DISPLAY・COMPなど)をやさしく解説!初心者でもわかる効率化の基本
人気記事
No.1
Java&Spring記事人気No1
COBOLで学ぶSELECT文のORDER BY・GROUP BY活用法!初心者でもわかるデータ集計
No.2
Java&Spring記事人気No2
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.3
Java&Spring記事人気No3
COBOLのCOPY句の使い方を完全ガイド!初心者でもわかる共通部品の再利用方法
No.4
Java&Spring記事人気No4
COBOLで学ぶカーソル操作と複数行データ取得の基本
No.5
Java&Spring記事人気No5
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#の数値型をマスターしよう!int・double・decimalの違いと使い方
No.7
Java&Spring記事人気No7
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.8
Java&Spring記事人気No8
C#の日付型(DateTime)と基本的な使い方を解説|初心者向け入門ガイド