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

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

関連記事

ゲームデータで学ぶSQL(初級編)

近年のデータサイエンスブームをきっかけに「SQLを学びたい」と思った方へ。 そう思ったところで、壁になってくるのは実データの入手です。 私は職業としてデータサイエンス関連の業務に従事していますが、キレ …

no image

EBS3 – 公開開始

ENDLESS BATTLE 3の公開を開始しました! コンセプトは以下の3点。 ・多vs多の戦略シミュレーション ・“最強”は要らない ・“THINK”(考え、行動せよ) ゲーム内容、予定も含めてま …

Meisyo作者がサービスを作るにあたっての考え方

私は、以下の考え方に違和感を覚えている。 いかにそのサービスに、ゲームに集中、執着させるか。 ゲームであれば、毎日何時間も時間を使わせて、注目させて、お金を支払うように仕向けるべきである。 無課金ユー …

no image

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

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

【教材紹介】すぐわかる統計処理の選び方

データは揃った。ただ、どんな分析をすればいいのかわからない。そんな人に向けて、データのパターン別に分析方法をレクチャーする本を紹介します。 名称 すぐわかる統計処理の選び方 著者 石村貞夫・石村光資郎 …