インジケーター変数を持つテーブルを作成する
evanston311 データの中で、優先度が medium または high のリクエストに、依頼者の連絡先情報(メールアドレスまたは電話番号)が含まれる可能性が高いかどうかを確認しましょう。
- メールアドレスには @ が含まれます。
- 電話番号は「3文字-3文字-4文字」のパターンを持ちます。例:555-555-1212。
これらのパターンを照合するには LIKE を使います。% は任意の数の文字(0文字も含む)に、_ は1文字にそれぞれ一致します。パターンを % で囲む(前後に付ける)ことで、他のテキストの中からそのパターンを検索できます。
例えば、'%___.com%' を使うと、トップレベルドメインが '.com' で、その前に少なくとも3文字を持つウェブサイトへの参照を検索できます。
メールと電話番号のインジケーター変数を作成し、一時テーブルに保存しましょう。LIKE は True または False を返しますが、ブール値(True または False)を integer にキャストすると、True が 1 に、False が 0 に変換されます。これにより、後で値を集計しやすくなります。
この演習はコースの一部です
SQLによる探索的データ分析
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
-- To clear table if it already exists
DROP TABLE IF EXISTS indicators;
-- Create the indicators temp table
___ ___ ___ ___ AS
-- Select id
SELECT id,
-- Create the email indicator (find @)
CAST (description LIKE '___' AS integer) AS email,
-- Create the phone indicator
___ (___ ___ '___' AS integer) AS phone
-- What table contains the data?
FROM ___;
-- Inspect the contents of the new temp table
SELECT *
FROM indicators;