文字データ型と一般的な問題

SQLによる探索的データ分析

Christina Maimone

Data Scientist

PostgreSQLの文字型

character(n)またはchar(n)

  • 固定長 n
  • 末尾の空白は比較時に無視されます

character varying(n)またはvarchar(n)

  • 変数の長さは最大で n{{5}} まで

textまたはvarchar

  • 無制限の長さ
SQLによる探索的データ分析

テキストデータの種類

カテゴリ

火曜、火曜日、月曜、TH

シャツ、靴、帽子、ズボン

満足、非常に満足、不満

0349-938, 1254-001, 5477-651

赤、青、緑、黄

非構造化データ:1

この製品がとても気に入っています。 私は毎日それを使っています。 私のお気に入りの色です。

お気に入りのTシャツを、さらに良くなるように再デザインしました。 気に入るはずです...

87年前、我々の父祖たちはこの大陸に新たな国家を誕生させた。自由のもとに構想され、すべての人は平等に創られているという命題に捧げられた国家である...

SQLによる探索的データ分析

グループ化とカウント

SELECT category,        -- categorical variable

       count(*)         -- count rows for each category

  FROM product          -- table

 GROUP BY category;     -- categorical variable


 category | count 
----------+-------
 Banana   |     1
 Apple    |     4
 apple    |     2
  apple   |     1
 banana   |     3
(5 rows)
SQLによる探索的データ分析

* 最頻値 - *最も多く出現する値*

SELECT category,        -- categorical variable

       count(*)         -- count rows for each category

  FROM product          -- table

 GROUP BY category      -- categorical variable

 ORDER BY count DESC;   -- show most frequent values first
 category | count 
----------+-------
 Apple    |     4
 banana   |     3
 apple    |     2
 Banana   |     1
  apple   |     1
(5 rows)
SQLによる探索的データ分析

カテゴリ 値

SELECT category,        -- categorical variable

       count(*)         -- count rows for each category

  FROM product          -- table

 GROUP BY category      -- categorical variable

 ORDER BY category;     -- order by categorical variable
 category | count 
----------+-------
  apple   |     1
 Apple    |     4
 Banana   |     1
 apple    |     2
 banana   |     3
(5 rows)

SQLによる探索的データ分析

アルファベット順

-- Results

 category | count 
----------+-------
  apple   |     1
 Apple    |     4
 Banana   |     1
 apple    |     2
 banana   |     3
(5 rows)

-- Alphabetical Order:

' ' < 'A' < 'a'
-- From results

' ' < 'A' < 'B' < 'a' < 'b'

SQLによる探索的データ分析

よくある問題

大文字と小文字は重要です

`'apple' != 'Apple'`

スペース数

`' apple' != 'apple'`

空の文字列は null ではありません

`'' != NULL`

句読点の違い

`'to-do' !=  'to–do'`
SQLによる探索的データ分析

テキストデータを見てみましょう

SQLによる探索的データ分析

Preparing Video For Download...