タグ

2016年9月19日のブックマーク (8件)

  • SQL で縦横変換まとめ(pivot と unpivot) - Qiita

    下図のように、「縦持ち」のテーブルを「横持ち」に置き換えることをピボット(pivot)、逆に「横持ち」のテーブルを「縦持ち」に置き換えることをアンピボット(unpivot)と呼びます。これらの変換を行なう方法をまとめました。 標準SQL Presto Hive Pandas (Python) 標準SQL SQL-like なクエリ言語ならどこでも使える書き方です。 Pivot SELECT uid, max(CASE WHEN key = 'c1' THEN value END) AS c1, max(CASE WHEN key = 'c2' THEN value END) AS c2, max(CASE WHEN key = 'c3' THEN value END) AS c3 FROM vtable GROUP BY uid ;

    SQL で縦横変換まとめ(pivot と unpivot) - Qiita
    hsato2011
    hsato2011 2016/09/19
  • SQL講座 LEFT JOIN とRIGHT JOIN(表の外部結合)

    「1日1問」仕事や勉強に役立つIT知識を充電! リクルートが運営する「ITキャパチャージ」は、最初に会員登録が必要ですが、無料で仕事から情報処理技術者試験まで幅広く活用できるWebサイトです。IT担当者のスキルアップに役立つ情報処理に関する問題を、毎日1問ずつ、メールやサイト上で提供するサービスです。解答ページはIT初心者でも分かる丁寧な解説つきで、サイト上では過去の問題にも挑戦できます。 また、IT用語が調べられるIT単語帳は、説明も詳しく簡単に調べられ、たいへん便利です。ぜひ、会員登録して活用したいサイトです。 LEFT JOINとRIGHT JOIN 表結合を指定するときにWHERE句とINNER JOINのほかにLEFT JOINとRIGHT JOINで表を結合することができる。これは、表の結合したときに指定された左右いずれかの表を優先して表示を行う指定である。 例題1は売上表と顧

  • PostgreSQL IN句での複数条件指定

    もういくつも寝ないでお正月です! Fusic Advent Calender5回目、最多出場回数を獲得することになりました安元です。 まだ確認してませんが、年末ジャンボが当たっているはずなので、 当たったあかつきには来年は車を買いたいと思います!! 基的なIN句の利用方法 SQLでIN句を使用したことはありますか? 一致させたい条件をカンマ区切りで並べるだけで簡単便利に利用できますね。 福問い合わせを利用する場合は以下のようになります さて、このIN句で複数条件指定できたら便利だと思いませんか? 日語で条件を表現すると基的なINの条件は 「安元 もしくは 納富 もしくは 浜崎 もしくは 渡辺」となりますね。 複数条件が指定できるということは 「安元で男 もしくは 納富で女 もしくは 浜崎で男 もしくは 渡辺で女」 こんな条件指定ができるのです。 ではSQLを見てみましょう。 今回は副

    PostgreSQL IN句での複数条件指定
  • 縦持ちデータからSQLでAND条件抽出 - Qiita

    ここから、「g01とg02の両方に属している(AND)useridを抽出」したいのです。 ぱっと思いつかず調べてみると、 「横持ちに変換する」ソリューションがよくヒットしましたが、 groupidが運用によって増えていくような状況だと、あまり適しません。 思いついた 当然他でもやっている方はいらっしゃるでしょうが、あまり見かけなかったので紹介します。 select userid, count(1) from table where groupid in ('g01','g02') group by userid having count(1) = 2 userid count(1)

    縦持ちデータからSQLでAND条件抽出 - Qiita
  • SEジャパン株式会社

    --1 create table PLAN_TABLE(初回のみ) SQLPLUS @%ORACLE_HOME%\rdbms\admin\utlxplan.sql --2 表関数 VIEW 設定(参照し易くするための設定、初回のみ) CREATE VIEW plan AS SELECT plan_table_output FROM TABLE(DBMS_XPLAN.DISPLAY('plan_table',NULL,'serial')); (%ORACLE_HOME%\rdbms\admin\utlxpls.sql) --3 SQL の前に EXPLAIN PLAN FOR を付ける EXPLAIN PLAN FOR SELECT * FROM ~; --4 実行計画の確認 SELECT * FROM plan; --1 ロールの作成(初回のみ、DBA 権限が必要) SQLPLUS @%O

  • 第4回 データベースの正規化|OSS-DB入門|OSS-DB道場|受験対策|DBスペシャリストを認定する資格 OSS-DB技術者認定試験

    今回はデータベースの正規化について取り上げます。 PostgreSQL固有ではなく、RDBMS全般に関わる一般的なテーマですが、データベースを扱う上で重要な下地となる部分ですので、ぜひ基礎固めとしてご利用ください。「正規化」はOSS-DB Exam Silverの出題範囲にも含まれていますので、受験を考えている方も気を抜かずに取り組みましょう。 正規化とは データの重複をなくし整合的にデータを取り扱えるようにデータベースを設計することを、データベースの正規化と呼びます。正規化を行っておくと、データの追加・更新・削除などに伴うデータの不整合や喪失が起きるのを防ぎ、メンテナンスの効率を高めることができます。 正規化の段階には、第1~第5正規形およびボイスコッド正規形がありますが、ここでは、データベースを設計する際に一般的に用いられる第1~第3正規形までを、前回登場したテーブルをもとにして説明し

  • SQLでデータベーステーブルの縦・横変換

    2006年07月10日 クエリを思いつかなかった子のために。これはあくまでヒントだぞ。 以降の例では Oracle9iリリース2で説明しています。 データベースのテーブルには、何故か無駄に横長のものがあったりします。 ホスト時代のデータセットイメージをそのままテーブルフォーマットにしちゃったようなやつですね。項目名に「FILLER1」とか名前がついている( ̄▽ ̄; こんなテーブルがあるとします。 SQL> DESC 売上ランキング横; 名前 NULL? 型 ---------------------------- -------- -------------------------- 売上年 VARCHAR2(4) 1位製品 VARCHAR2(10) 1位売上 NUMBER(5) 2位製品 VARCHAR2(10) 2位売上 NUMBER(5) 3位製品 VARCHAR2(10) 3位売上

    SQLでデータベーステーブルの縦・横変換
    hsato2011
    hsato2011 2016/09/19
    縦もち
  • SELECT文の結果を抽出条件に使う

    IN句を用いた条件抽出 今回は、SELECT文を入れ子にした副問い合わせ(サブクエリー)を説明します。 まずは、講座の第1回(「SQLの基礎SELECT文を覚えよう」)で解説した「IN」をもう一度復習しましょう。次の例題を実行してみてください。

    SELECT文の結果を抽出条件に使う