RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

Web制作 データサイエンス

スッキリわかるSQL入門 第2版 題材A 問75

投稿日:2019年2月13日 更新日:

回答が非常に長い気がするのはなぜだろうか。

/* 自己結合を用いた場合 */
SELECT DISTINCT K1.名義, K1.口座番号,
       K1.種別, K1.残高, K1.更新日
  FROM 口座 AS K1
  JOIN 口座 AS K2
    ON K1.名義 = K2.名義
 WHERE K1.口座番号 <> K2.口座番号
 ORDER BY K1.名義, K1.口座番号;

/* 集計関数と結合を用いた場合 */
SELECT K1.名義, K1.口座番号,
       K1.種別, K1.残高, K1.更新日
  FROM 口座 AS K1
  JOIN (SELECT 名義, COUNT(名義) AS 口座数
          FROM 口座
         GROUP BY 名義
        HAVING COUNT(名義) > 1) AS K2
    ON K1.名義 = K2.名義
 ORDER BY K1.名義, K1.口座番号;

ワイ

SELECT 名義, 口座番号, 種別, 残高, 更新日
  FROM 口座
 WHERE 名義 IN (SELECT 名義
  FROM 口座
 GROUP BY 名義
HAVING COUNT(名義) > 1)
ORDER BY 名義, 口座番号;

自分自身のコードの傾向としては、以下の通り。
1・できるだけ短いコードを目指す。(美しいコードガイイヨネ)
2・「カラムA = A」は1つにしたい派。(同じこと複数書いてると入力間違えそう)
3・テスト問題はさっさと終わらせたい。(実際のデータに触れたいのであった=答えが見えている問題は興味がない?)

-Web制作, データサイエンス

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Windows10(32bit)でのC言語およびC++のコンパイラ「MinGW」のインストールとテスト

32bitのWindows10環境でCとC++を開発するためのコンパイラ「MinGW」のインストールを行います。 私も初心者ですが、簡単にインストールできました! 日付:2018/09/09 OS:W …

no image

[PHP]まとめ読みをPSRで改良する(1)

今回の改良対象 → ミニ四駆まとめサイト なぜやるのか? PHPのバージョンアップによる速度の向上 一番はこれでしょう。 今のはPHP5.2で動いています。 1割から5割の速度向上が見込まれます。 1 …

(VPSでつくる) NginxでHello World

連載第三回目です。 WebサーバーであるNginxをインストールして、オンライン上でアクセスしてみましょう。 今回の工程で、オンラインからWebサイトの閲覧が可能になります。 この記事は、VPSで作る …

no image

知らなかった!「while」と「do while」の違い

Perl→PHPを独学でやって現在C言語をやってます。 「do{ ~ }while( ~ );」←ナニコレ状態でした。 「while」と「do while」の違いは、 「前」で条件判定をするか、「後ろ …

[Meisyo]野手起用法設定の導入検討

コメントいただきました。 面白いなこれは・・・一人で開発してもいいもんじゃないですね。ありがたいです。 導入は時間が出来たらします!