体重差分
配点 : 40点難易度 : 4
制限実行時間 : 1000ms制限メモリ使用量 : 128 MB
SQLiteの注意点

TOPSIC SQLでは、SQLの実行環境にSQLiteを使用しています。SQLite以外のRDBMSの文法を使用することはできません。
問題を解く際に注意すべきSQLiteの制約について、以下に記載してありますのでご確認下さい。

  1. NUMERIC、INTEGER、REALは、自身のクラスへの変換が推奨されていますが、変換できなかった場合でも、そのまま格納されます。
  2. 新しくデータを追加した場合、既に格納されているデータの中で ROWID の値が最大のものを探し、それに1を加えた値が新しく追加されるデータの ROWID の値として保存されます。
  3. 外部結合は、左外部結合を行う LEFT OUTER JOIN 句のみ使用できます。
    ※2022年12月以降、LEFT / RIGHT / FULL OUTER JOIN が使用可能となりました。
  4. 指定した日付と時刻のタイムゾーンはUTCとして扱われます。
  5. 日付関数や文字列関数については、SQLiteで固有の関数があります。
  6. テーブル項目の論理名が「◯◯日」となっている場合は、日付項目の時分秒は設定されていません。論理名が「◯◯日時」となっている場合は、日付項目の時分秒まで設定されています。
    • 「受注日」の場合は「2021-01-01」
    • 「受注日時」の場合は「2021-01-01 15:15:15」

その他のSQLiteの制約については、SQLiteの公式ドキュメントをご確認ください。
また、ER図の読み方やSQLiteの関数および構文などについては、「受験ルール・用語」をご確認ください。

問題

会員の健康診断結果を記録している健康診断テーブル(HEALTH_CHECKUP)より、会員毎に実施日(CHECKUP_DATE)が直近2回の健康診断結果で、今回の体重(WEIGHT)から前回の体重を減算した結果が、5kg以上変動した会員を表示しなさい。
体重はkg単位で小数第一位まで登録されているものとする。また、変動した体重を算出する際は丸め誤差が発生しないように注意すること。ただし、小数点以下がゼロの場合は整数のみの表示とする。

表示項目は以下とする。(エイリアスを使用し→の項目名とする)

  • 最新の実施日 → CK_DATE
  • MEMBER_CODE → CODE
  • LAST_NAMEとFIRST_NAMEを連結して表示 → NAME
  • 変動した体重 → CHG_WT

表示順

  1. 変動した体重の降順
  2. MEMBER_CODEの降順

表示フォーマット

※あくまでフォーマットを示すもので、正解例ではありません。行数も正解とは異なります。

CK_DATE CODE NAME CHG_WT
2024-05-03 10030 見上諄 5.1
2024-05-04 10070 犬伏功実 5
2024-05-01 10010 山田玲 -5
2024-05-05 10100 金久保安吾 -5.1
2023-05-07 10140 本堂章博 -10.6

ER図 (半角:物理名、全角:論理名)


テーブル定義

テーブル名: HEALTH_CHECKUP

主キー 列名 データ型 必須 デフォルト値
✔︎ CHECKUP_DATE VARCHAR ✔︎ NULL
✔︎ MEMBER_CODE VARCHAR ✔︎ NULL
HEIGHT REAL ✔︎ NULL
WEIGHT REAL ✔︎ NULL
GIRTH REAL ✔︎ NULL
MAX_BP REAL ✔︎ NULL
MIN_BP REAL ✔︎ NULL

テーブル名: MEMBER_MST

主キー 列名 データ型 必須 デフォルト値
✔︎ MEMBER_CODE VARCHAR ✔︎ NULL
LAST_NAME VARCHAR ✔︎ NULL
FIRST_NAME VARCHAR ✔︎ NULL
LAST_NAME_KANA VARCHAR ✔︎ NULL
FIRST_NAME_KANA VARCHAR ✔︎ NULL
LOGIN_ID VARCHAR ✔︎ NULL
EMAIL VARCHAR ✔︎ NULL
PSW VARCHAR ✔︎ NULL
BIRTH_DATE VARCHAR ✔︎ NULL
GENDER INTEGER ✔︎ NULL
OPTOUT_TYPE INTEGER ✔︎ NULL
LOGIN_DATETIME VARCHAR NULL
LOGIN_ERROR_COUNT INTEGER NULL
LOGIN_LOCKED_FLG INTEGER NULL
LATEST_POINT_ACQUIRED_DATE VARCHAR NULL
REST_POINT INTEGER NULL
TEMPORARY_POINT INTEGER NULL
WITHDRAWAL_DATE VARCHAR NULL
UPDATE_USER_NAME VARCHAR ✔︎ NULL
USER_UPDATE_DATETIME VARCHAR CURRENT_TIMESTAMP

サンプルデータ

テーブル名: HEALTH_CHECKUP

CHECKUP_DATE MEMBER_CODE HEIGHT WEIGHT GIRTH MAX_BP MIN_BP
2022-04-07 10140 154.4 66 68.6 111 65
2023-04-01 10010 170 75 88 130 80
2023-04-02 10020 171.4 74.4 88.3 121 70
2023-04-03 10030 165.5 55.3 85.3 100 60
2023-04-04 10070 166.3 63.1 70.5 134 88
2023-04-05 10100 189.4 105.5 90.4 133 90
2023-04-06 10110 178.7 90.6 100.5 121 69
2023-04-08 10180 180 83 90 120 110
2023-05-07 10140 154.4 55.4 68.6 111 65
2024-05-01 10010 170 70 88 130 80
2024-05-02 10020 171.4 69.5 88.3 121 70
2024-05-03 10030 165.5 60.4 85.3 100 60
2024-05-04 10070 166.3 68.1 70.5 134 88
2024-05-05 10100 189.4 100.4 90.4 133 90
2024-05-06 10110 178.7 95.5 100.5 121 69
2024-05-08 10180 180 80 90 120 110

テーブル名: MEMBER_MST

MEMBER_CODE LAST_NAME FIRST_NAME LAST_NAME_KANA FIRST_NAME_KANA LOGIN_ID EMAIL PSW BIRTH_DATE GENDER OPTOUT_TYPE LOGIN_DATETIME LOGIN_ERROR_COUNT LOGIN_LOCKED_FLG LATEST_POINT_ACQUIRED_DATE REST_POINT TEMPORARY_POINT WITHDRAWAL_DATE UPDATE_USER_NAME USER_UPDATE_DATETIME
10010 山田 ヤマダ レイ yamadarei@elfelyan.com yamadarei@elfelyan.co.jp 1001 1992-12-24 2 1 2024-05-31 11:00:00 0 0 NULL 0 98 NULL SYSTEM 2024-05-31 10:00:00
10020 山田 太郎 ヤマダ タロウ yamadataro@elfelyan.com yamadataro@elfelyan.com 1002 1992-12-24 1 3 2024-05-31 11:00:00 0 0 NULL 0 98 NULL SYSTEM 2024-05-31 10:00:00
10030 見上 ミカミ ジュン jhEGGJ@mk3Fd.com jhEGGJ@elfelyan.co.jp 1003 1953-10-28 1 0 2024-05-31 11:00:00 2 8 NULL 85 37 NULL SYSTEM 2024-05-31 10:00:00
10070 犬伏 功実 イヌフシ イサミ S3VWssPb S3VWssPb@elfelyan.co.jp 1007 1956-06-02 1 0 2024-05-31 11:00:00 3 8 NULL 88 41 NULL SYSTEM 2024-05-31 10:00:00
10100 金久保 安吾 カナクボ アンゴ cTqeC cTqeC@elfelyan.co.jp 1010 1958-07-17 1 0 2024-05-31 11:00:00 3 8 NULL 91 44 NULL SYSTEM 2024-05-31 10:00:00
10110 矢後 麻雄 ヤゴ アサオ CNmmWTjnwR@aPwL.com CNmmWTjnwR@elfelyan.co.jp 1011 1959-01-06 1 0 2024-05-31 11:00:00 3 8 NULL 92 44 NULL SYSTEM 2024-05-31 10:00:00
10140 本堂 章博 ホンドウ アキヒロ Mo8upZ@iloyQZ.com Mo8upZ@elfelyan.co.jp 1014 1961-02-19 1 0 2024-05-31 11:00:00 3 9 NULL 95 47 NULL SYSTEM 2024-05-31 10:00:00
10180 曽根田 ソネダ リン 59PBS9q6@nS2X.com 59PBS9q6@elfelyan.co.jp 1018 1963-09-25 2 0 2024-05-31 11:00:00 4 9 NULL 99 51 NULL SYSTEM 2024-05-31 10:00:00
10220 平光 暁威 ヒラミツ ギョウイ oUhQ6jBI2@jDO3v.com oUhQ6jBI2@elfelyan.co.jp 1022 1966-04-30 1 2 2024-05-31 11:00:00 4 9 NULL 2 55 NULL SYSTEM 2024-05-31 10:00:00
10250 弦巻 桃奈 ツルマキ モモナ yu2YOp@7MtcKU.com yu2YOp@elfelyan.co.jp 1025 1968-06-12 2 0 2024-05-31 11:00:00 4 0 NULL 5 58 NULL SYSTEM 2024-05-31 10:00:00
10290 鳥原 優太 シマバラ ユウタ hGJo2PI@gDAmiF.com hGJo2PI@elfelyan.co.jp 1029 1971-01-16 1 0 2024-05-31 11:00:00 5 0 NULL 9 61 NULL SYSTEM 2024-05-31 10:00:00
10330 方波見 郁也 ホナミ イクヤ xsII7r5IF@QJWwiv.com xsII7r5IF@elfelyan.co.jp 1033 1973-08-21 1 1 2024-05-31 11:00:00 5 0 NULL 13 65 NULL SYSTEM 2024-05-31 10:00:00
10370 関井 亜門 セキイ アモン IYjR3 IYjR3@elfelyan.co.jp 1037 1975-10-05 2 1 2024-05-31 11:00:00 5 1 NULL 16 68 2021-02-07 SYSTEM 2024-05-31 10:00:00

Sorry, Japanese Only.