SQL
そもそもどういう手順でSQLクエリを作っていくか
大体の型がある
SELECT
表示したいカラムを設定したい
COUNTで抽出する絡むを絞ったり
CASE文で対象のクエリ絞って行を作ってあげたり
計算を行う
FROM
どのテーブルを参照する
必要に応じてテーブルを外部結合したりして、テーブルを大きくする
WHERE
フィルターをかける
GROUP BY、ORDER BY
HAVINGでN以上以下とかで数値フィルター
SELECT
COUNT (*)
昇順に出来る。COUNTだから単数で指定
AS hogehoge
カラム名を指定できる
SUM (hogehoge) as a hoge_collum_name
計算書式をSELECT句に入れる
DISTINCT
SELECT文の実行結果の重複レコード(データ行)を1つにまとめるための便利
COUNTと組み合わせてUniqueなID数を集計しやすい
https://www.sejuku.net/blog/wp-content/uploads/2018/05/sql_distinct_1.png
FROM
どのテーブルを持ってくるか指定する。プロジェクト→データセット→テーブルの順で記載
FROM 'project.dataset.table'
WHERE
大元のテーブルに対してフィルターかける
WHERE hoge NOT LIKE '%hoge2%
hoge2 以外を抽出する
LIKE句
文字列があるパターンを検索してもらう
GROUP BY
どの粒度でデータを区切るか
一番左側のカラムに何を持ってくるか指定する
ORDER BY
ORDER BY 句を使用した場合、デフォルトでは昇順(ASC)、つまり A->Z の順になります。降順にする場合は、ORDER BY フィールド名 DESC と指定します。 CASE
対象のカラムを読み取り、任意の条件でフラグを立てて名称をつけた列を生成できる
code:sql
CASE
WHEN model = " PXXXX" THEN "Pre" <-- テーブル上に表示する名前 -->
END as hogehoge
code:sql
CASE
WHEN hogehoge = '1' THEN '商品リストのクリックスルー'`
END as hogehoeg
HAVING
HAVING hoge > n
数量、集計結果ののフィルタリング
WITH
WITH句を使うことでサブクエリに名前を
1度ユニークのMAU・平均DAUを算出して仮テーブルとして保存。
その抽出したテーブルをもとにWITH句でDAU/MAU Rateを算出できる
code:sql
WITH A as(
SELECT month
,count(disinct vistor_id)as uu
,count(disinct unique_id)as uniqueid
FROM hogehoge
WHERE
event_type = 'pv'
AND
year = '2023'
AND
month '11'
GROUP
LOWER
大文字、小文字が指定できる
LOWER (name) LIKE '%help%'
helpを含む小文字のname レコードを抽出
データ型
実数 (FLOAT) 型は、有効数字 17 桁までの浮動小数点数を格納します