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

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

関連記事

no image

[PHP]PDO、2つ以上の項目からLIKE検索

データベースからPDOを使ってデータを抜き出したい! そして「bindParam」で安全に検索しよう。そうしよう。 しかし、見事にハマりました。/(^o^)\ 解決方法はこちら! $pdo = new …

no image

PHP5.5から使える暗号化「password_hash」を「password_compact」を使って以前のバージョンで利用する

PHP最高の暗号化法としてPHP5.5から使える「password_hash」があります。 でもそれを、5.5未満のバージョンで使いたい! 特に私が使っている、さくらインターネットのサーバーはPHP …

no image

JavaScriptで特定地域にターゲット広告を表示

ある特定の都道府県だけ表示したい広告を作ったので、そのコードを公開します! 1.Google AJAX APIを読み込み <script type="text/javascript&q …

【教材紹介】BERTによる自然言語処理

自然言語処理の応用モデルであるBERTを今すぐに使いたい、機械学習の概要を知っている担当者レベルに向けた書籍を紹介します。 名称 BERTによる自然言語処理 著者 ストックマーク株式会社 近江崇宏、金 …

no image

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

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