跳到正文

平成25年度 春期 ITパスポート試験 問61

这道题的解析和你的作答记录。

問61
頻出度★★☆

関係データベースの“売上”表と“顧客”表を顧客コードで結合し,顧客コードでグループ化して顧客ごとの売上金額の合計を求め,売上金額の合計を降順に整列した。得られた結果の先頭レコードの顧客名はどれか。 売上

伝票番号顧客コード売上金額(万円)
H001K0140
H002K0280
H003K03120
H004K0470
H005K0120
H006K0250

顧客

顧客コード顧客名
K01井上花子
K02佐藤太郎
K03鈴木三郎
K04田中梅子
出典 平成25年度 春期 ITパスポート試験 問61
解説

問 61

  • 错误ア

    井上花子(K01)的合计是 40+20=60 万日元,在 4 人中最少,降序排列时排在最后(第 4 位)。虽然她的单据有 2 张、张数较多,但金额合计是最低的。

  • イ

    正解 按题目给出的步骤来计算。首先把「销售」表和「客户」表按客户编码连接,再按客户编码分组,对销售金额求合计。K01(井上花子)是 40+20=60 万日元,K02(佐藤太郎)是 80+50=130 万日元,K03(铃木三郎)是 120 万日元,K04(田中梅子)是 70 万日元。把它们按销售金额合计降序(由大到小)排列,顺序为 130 → 120 → 70 → 60,也就是 佐藤太郎 → 铃木三郎 → 田中梅子 → 井上花子。因此第一条记录的客户名是 佐藤太郎,正确答案是「イ」。要点在于:比较的不是单张单据的最高金额,而是「每位客户的合计金额」。

  • 错误ウ

    铃木三郎(K03)的 120 万日元作为单张单据的金额确实是最大的,但在合计上够不到 130 万日元的佐藤太郎,只排第 2 位。把「单张单据的最高金额」与「每位客户的合计金额」搞混,正是本题典型的陷阱。

  • 错误エ

    田中梅子(K04)的销售只有 H004 这 1 张、70 万日元,合计 70 万日元排在第 3 位,不会成为降序排列的第一条。

ここがポイント
  • 理解「连接(join)+分组(GROUP BY)+汇总(SUM)+排序(ORDER BY 降序)」这一连串处理的含义。要点是顺序:先用连接键(这里是客户编码)把两张表对应起来,再按组求出合计,然后才排序。
  • 降序排列结果的「第一条记录」=汇总值最大的那一行。注意要比较的是分组汇总之后的合计值,而不是各条明细(单据)的最大值。
用語
解答問61イ
练这一题

作答记录