SQL

今日の学び@2020/3/4

SQL&BigQuery 長文SQL解読 600行近くの既存長文SQLを解読 理解速度が確実にUPしている 要件に落とし込む為、テーブル等、各条件も整理した 自分以外の人のコードを読むと、色々と学ぶ点がある 基本処理とプログラミング知識を絡ませ、効率的なSQL文作成が理…

今日の学び@2020/3/2

SQL&BigQuery ビッグデータ分析・活用のためのSQLレシピ(参照元) 3 ウインドウ関数続き、縦持ち横持ち変換 SELECT product_id, score, -- ランク:一意 ROW_NUMBER() OVER(ORDER BY score DESC) AS ROW, -- ランク:同順許容&飛ばす RANK() OVER(ORDER BY …

今日の学び@2020/2/27

SQL&BigQuery(BQ) ビッグデータ分析レシピ(参考元) 3章 3-2-5 日時データ 3-3 ウインドウ関数 SELECT user_id, -- TIMESTAMP関数:型変換(string ⇒ timestamp) TIMESTAMP(regi_timestamp) AS regist_day, TIMESTAMP_ADD(TIMESTAMP(regi_timestamp),INTER…

今日の学び@2020/2/26

SQL&BigQuery(BQ) ビッグデータ分析レシピ(参考元) 3章 3-2 NULL伝播・0除算・母数のズレ回避 SELECT dt, a1,a2,a3,a4, -- coalesceでNULL伝播回避 (coalesce(a1,0)+coalesce(a2,0)+coalesce(a3,0)+coalesce(a4,0)) / -- 更にsignで母数を調整俊逸w (sign…

今日の学び@2020/2/25

SQL&BigQuery(BQ) ビッグデータ分析レシピ(参考元) 5章 途中まで通読 BQヘルプ UDF(ユーザー定義関数) 記法 SQL SQL+JSヒアドキュメント タイプ 一時 永続 SQL記法で良い気もしたが、Jsだとライブラリが便利 Jsライブラリへの関心も沸いた GCSにライブラ…

今日の学び@2020/2/24

SQL&BigQuery(BQ) ビッグデータ分析レシピ(参考元) 3章 -- URLからの文字抽出 SELECT timestamp_log, url, -- NET関数で取得可能なpath NET.HOST(url) AS host, NET.PUBLIC_SUFFIX(url) AS suffix, NET.REG_DOMAIN(url) AS domain, -- その他の抽出 REGEXP…

今日の学び@2020/2/22-23

SQL&BigQuery(BQ) 分析活用入門 9章長文SQL 相関サブクエリ SELECT t1.a, t1.b, ( COUNT(t1.a) FROM mytable AS t2 WHERE t1.a > t2.a --ここ ) AS **rank** FROM mytable AS t1 BQの相関サブクエリは、LEFT JOINだった。 実際、WHERE句に不等号を使うと下…

今日の学び@2020/2/20

SQL&BigQuery(BQ) 分析活用入門 8章アドホック分析続き CASE式 ランク付け:NTILEと違い、閾値が任意設定 CASE式で2軸目を集計し、横持ち変換 3軸集計 COUNT(CASE WHEN THEN) as a CASE式、特に集計後の横持ち変換は、慣れないと独特。 特に、3軸集計(RFM…

今日の学び@2020/2/19

SQL&BigQuery(BQ) 分析活用入門 8章アドホック分析続き ウインドウ関数内のORDER BYは基本必須 縦持ち横持ち変換 分析手順 集計結果(分析モデル)設計 全体の概要把握(集計関数、以下同様) 1軸目(グループ化)の概要把握 3.の状態で、2軸目の概要把握 2軸…

今日の学び@2020/2/17

SQL&BQ 業務のSQL スケジュールクエリ設定 DataPortal BQ連携 ダッシュボード作成 業務中、簡単そうなのに、うまく出来ない集計があった(;´Д`) 検索、エクセル整理、学んだ知識を色々使い模索しまくった。 なぞなぞやパズルの様な、知れば簡単な感じもする…

今日の学び@2020/2/16

SQL&BQ 分析活用入門の復習 6章:結合 LEFT JOIN 左テーブル主キーに対して、右レコードが一意でない場合、結合テーブルは超過分レコード数が増える 自己結合INNER JOIN BQは集計が怪しく、DISTINCT必須かも CROSS JOINは、今の所、用途不明w 7章:WINDOW…

昨日・今日の学び@2020/2/14-15

SQL&BQ レシピ 全章スキャニングw通読 昨日今日は、レシピ本を全章スキャニング通読wをした。 まさに求めていた内容で、使い込む一冊になりそう。 気になったのは、 業務データとログデータの違い 業務:正規化、トランザクションで常時更新 ログ:非正規…

今日の学び@2020/2/12

SQL&BQ 分析活用入門 6章 結合復習 今日は、結合とグループ化の動きについて、じっくり観察してみた。 エクセルに表を貼り、動きを確認w これが、意外といいw 業務で長文SQLをいじりまくる中で、結合とグループ化の根本的で確実な理解がとても重要だと感…

今日の学び@2020/2/11

SQL&BQ 分析活用入門 3章 SELECT文の構造/処理順 SELECT(構造) FROM WHERE GROUP BY HAVING SELECT(処理,window関数) ORDER BY LIMIT 5章 サブクエリ WITH 相関サブクエリ IN where カラム指定 in (ベクトルクエリ) EXISTS where (not) exists(select *…