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

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

関連記事

(VPSでつくる) 総括・変更履歴

長らくお疲れ様でした。 最後までご覧いただき誠にありがとうございました。 今回は、VPSの良い点、悪い点、引っかかりやすいポイントなどなど。 総括を行いたいと思います。 この記事は、VPSで作るPyt …

【教材紹介】機械学習を解釈する技術

多くの企業で導入されるようになってきた機械学習。 その機械の判断基準、本当にわかっていますか? 今回は、実務に利用するために最低限の技術として、変数(特徴量)の重要度や変数と予測値の関係性を求める方法 …

駆け出しエンジニアは本当にフロントエンドエンジニアを目指すべきなのか

最近、駆け出しエンジニアをTwitter上で数多く見るようになりました。 ただ、揃いも揃って「フロントエンドエンジニア」になりたい(意訳)とプロフィールに書いてあります。 なぜでしょうか。 それは何が …

【教材紹介】施策デザインのための機械学習入門

機械学習のその問題設定、現実に一致していますか? 予測しただけになっていませんか? 本当に解きたい問題はなんでしょうか。問題設定の応用的な方法論を学ぶための一冊を紹介します。 名称 施策デザインのため …

【教材紹介】効果検証入門

広告やマーケティング施策のビジネスインパクトの測定はだいたい間違っています。 それを正しく測定するための因果推論に関して、日本語ベースのわかりやすい1冊を紹介します。 名称 効果検証入門 著者 安井翔 …