場所分雷-復習2
2808 ワード
Amazon Redshiftの無料2ヶ月体験バージョンがあるので使用中です.
PostgreSQLを使用する予定でしたが、不明なエラーのため一時保存します.
次の表に文字列を接続します.
2行目と3行目は同じ値をエクスポートします.
CONCAT:複数の文字列を結合します.PostgreSQLとRedshiftは、||を使用して同じ値を抽出することもできます.
レコード内の複数の値を比較する方法について説明します.
CASE関数を用いて,第1四半期と第2四半期の比較を行った.
SIGN関数によりCASE式よりも値の増減判定を簡単に行うことができる.SIGN関数の戻りパラメータは、正の値が1、0の値が0、負の値が-1です.
GREATEST、LEAST関数は標準SQLには含まれませんが、ほとんどのSQLクエリーエンジンで実装されます.
これは各年度の平均四半期の売上高の照会です.COALESCEは、Null値をどの値に戻すかを指定する関数です.
CTR(Click Through Rate)を取得するクエリーです.
CAST関数を用いてクリック数を「二重精度」データ型に変換して計算すると,小数点第2位になる.
除数がゼロになるのを防ぐためにCASE関数を用いた.
PostgreSQLを使用する予定でしたが、不明なエラーのため一時保存します.
接続文字列
次の表に文字列を接続します.
SELECT user_id
, CONCAT(pref_name, city_name) AS pref_city
, pref_name || city_name AS pref_city
FROM mst_user_location
2行目と3行目は同じ値をエクスポートします.
CONCAT:複数の文字列を結合します.PostgreSQLとRedshiftは、||を使用して同じ値を抽出することもできます.
複数の値の比較
レコード内の複数の値を比較する方法について説明します.
SELECT year
, q1
, q2
, CASE WHEN q1 < q2 THEN '+'
WHEN q1 = q2 THEN ' '
ELSE '-'
END AS judge_q1_q2
, q2-q1 AS diff_q2_q1
, SIGN(q2-q1) AS sign_q2_q1
FROM quarterly_sales
ORDER BY 1
CASE関数を用いて,第1四半期と第2四半期の比較を行った.
SIGN関数によりCASE式よりも値の増減判定を簡単に行うことができる.SIGN関数の戻りパラメータは、正の値が1、0の値が0、負の値が-1です.
SELECT year
, GREATEST(q1, q2, q3, q4) as greatest_sales
, LEAST(q1, q2, q3, q4) as least_sales
FROM quarterly_sales
ORDER BY 1
GREATEST、LEAST関数は標準SQLには含まれませんが、ほとんどのSQLクエリーエンジンで実装されます.
SELECT year
, (COALESCE(q1, 0) + COALESCE(q2, 0) + COALESCE(q3, 0) + COALESCE(q4, 0))
/ (SIGN(COALESCE(q1, 0)) + SIGN(COALESCE(q2, 0)) + SIGN(COALESCE(q3, 0)) + SIGN(COALESCE(q4, 0))) AS average
FROM quarterly_sales
ORDER BY year
これは各年度の平均四半期の売上高の照会です.COALESCEは、Null値をどの値に戻すかを指定する関数です.
2つの値のパーセントを計算
SELECT dt
, ad_id
, CAST(clicks AS double precision)/impressions AS ctr
, 100.0 * clicks / impressions AS ctr_as_percent
FROM advertising_stats
WHERE dt = '2017-04-01'
ORDER BY dt, ad_id
CTR(Click Through Rate)を取得するクエリーです.
CAST関数を用いてクリック数を「二重精度」データ型に変換して計算すると,小数点第2位になる.
SELECT dt
, ad_id
, CASE WHEN impressions >0 THEN 100.0 * clicks / impressions
END AS ctr_as_percent_by_case
FROM advertising_stats
ORDER BY dt, ad_id
除数がゼロになるのを防ぐためにCASE関数を用いた.
Reference
この問題について(場所分雷-復習2), 我々は、より多くの情報をここで見つけました https://velog.io/@gugu_dragon/데.분.레-복습-2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol