平成27年春期 問3 設問3について
nameさん
(No.1)
質問です。
解答がCOUNT(DISTINCT世帯表.世帯番号)となっているのですが、
世帯表の世帯番号は主キーなのでそもそも重複しないのではないでしょうか。
COUNT(DISTINCT会員表.世帯番号)であればなんとなくわかるのですが、
解説を見てもわからず、イメージができませんでした。
教えてください。
解答がCOUNT(DISTINCT世帯表.世帯番号)となっているのですが、
世帯表の世帯番号は主キーなのでそもそも重複しないのではないでしょうか。
COUNT(DISTINCT会員表.世帯番号)であればなんとなくわかるのですが、
解説を見てもわからず、イメージができませんでした。
教えてください。
2016.04.09 08:52
みずさん
(No.2)
WHERE句で結合し、GROUP化すると以下のようになります
世帯番号 班 氏名
-------------
0181 02 伊藤太郎
0181 02 伊藤幸子
1111 02 田中仁
1111 02 田中次男
------------- ←グループの区切り
2222 05 松村雄二
3333 05 水野忠邦
3333 05 水野瞳
-------------
これに、COUNT(世帯表.世帯番号)を行うと
0181
0181
1111
・・・・のように、班ごとの会員数をカウントした事と同じになります。
DISTINCTを付ければ、
0181
1111
と、しっかり2が返されます。
ちなみに、COUNT(DISTINCT世帯表.世帯番号)とCOUNT(DISTINCT会員表.世帯番号)
の結果は同じになります。
世帯番号 班 氏名
-------------
0181 02 伊藤太郎
0181 02 伊藤幸子
1111 02 田中仁
1111 02 田中次男
------------- ←グループの区切り
2222 05 松村雄二
3333 05 水野忠邦
3333 05 水野瞳
-------------
これに、COUNT(世帯表.世帯番号)を行うと
0181
0181
1111
・・・・のように、班ごとの会員数をカウントした事と同じになります。
DISTINCTを付ければ、
0181
1111
と、しっかり2が返されます。
ちなみに、COUNT(DISTINCT世帯表.世帯番号)とCOUNT(DISTINCT会員表.世帯番号)
の結果は同じになります。
2016.04.10 21:32
広告
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
広告