前回は、テーブルのデータを削除するDELETE文について説明しました。今回は、重複行を除外するDISTINCTについて説明していきます!
データ準備
DISTINCTを試すためにテーブルを作成し、データを追加します。
-- テーブルの作成
CREATE TABLE household_account1 (
id INT PRIMARY KEY,
transaction_date DATE,
expense VARCHAR2(20),
memo VARCHAR2(80),
deposit INT,
withdrawal INT
);
-- データの登録
INSERT
ALL INTO household_account1
VALUES
(1, TO_DATE('2024-03-10', 'YYYY-MM-DD'), '給料', '3月分', 150000, 0)
INTO
household_account1
VALUES
(2, TO_DATE('2024-03-15', 'YYYY-MM-DD'), '食費', '昼食(スシロー)', 0, 1380)
INTO
household_account1
VALUES
(3, TO_DATE('2024-03-17', 'YYYY-MM-DD'), '交通費', 'バス代', 0, 500)
INTO
household_account1
VALUES
(4, TO_DATE('2024-03-14', 'YYYY-MM-DD'), '食費', '夜食(とんかつ濱かつ)', 0, 2000)
INTO
household_account1
VALUES
(5, TO_DATE('2024-03-20', 'YYYY-MM-DD'), '通信費', 'スマホ代', 0, 3300)
INTO
household_account1
VALUES
(6, TO_DATE('2024-03-25', 'YYYY-MM-DD'), '交際費', 'デート', 0, 8000)
INTO
household_account1
VALUES
(7, TO_DATE('2024-03-21', 'YYYY-MM-DD'), '美容費', '美容室(パーマ)', 0, 10000)
INTO
household_account1
VALUES
(8, TO_DATE('2024-03-19', 'YYYY-MM-DD'), '交際費', '飲み会', 0, 13000)
INTO
household_account1
VALUES
(9, TO_DATE('2024-03-18', 'YYYY-MM-DD'), '趣味費', 'ゲーム', 0, 5000)
INTO
household_account1
VALUES
(10, TO_DATE('2024-03-25', 'YYYY-MM-DD'), '住居費', '3月分', 0, 55000)
SELECT
*
FROM
DUAL;
日付 | 費目 | メモ | 入金額 | 出金額 |
---|---|---|---|---|
2024/03/10 | 給料 | 3月分 | 150000 | 0 |
2024/03/15 | 食費 | 昼食(スシロー) | 0 | 1380 |
2024/03/17 | 交通費 | バス代 | 0 | 500 |
2024/03/14 | 食費 | 夜食(とんかつ濱かつ) | 0 | 2000 |
2024/03/20 | 通信費 | スマホ代 | 0 | 3300 |
2024/03/25 | 交際費 | デート | 0 | 8000 |
2024/03/21 | 美容費 | 美容室(パーマ) | 0 | 10000 |
2024/03/19 | 交際費 | 飲み会 | 0 | 13000 |
2024/03/18 | 趣味費 | ゲーム | 0 | 5000 |
2024/03/25 | 住居費 | 3月分 | 0 | 55000 |
DISTICTの使い方
重複行を除外するDISTINCTは下記のように記述します。
SELECT DISTINCT 列名…
FROM テーブル名
例えば費目が何種類あるのか調べてみます。
SELECT DISTINCT expense AS "費目" FROM household_account1
費目 |
---|
給料 |
通信費 |
交際費 |
美容費 |
食費 |
交通費 |
趣味費 |
住居費 |
次は重複がない入金額を取得してみます。
SELECT DISTINCT deposit AS "入金額" FROM household_account1
入金額 |
---|
150000 |
0 |
まとめ
重複行を除外してデータを取得する場合は、DISTINCTを使うということを覚えておきましょう。また、ほかの修飾キーワードと異なり、SELECT文の最初に記述する必要があるので注意してください!
コメント