数值数据类型与汇总函数

SQL 中的探索性数据分析

Christina Maimone

Data Scientist

数值类型:整数

名称 存储大小 说明 取值范围
integerintint4 4 字节 常用选择                                     -2147483648 到 +2147483647                                 
SQL 中的探索性数据分析

数值类型:整数

名称 存储大小 说明 取值范围
integerintint4 4 字节 常用选择                            -2147483648 到 +2147483647
smallintint2 2 字节 小范围 -32768 到 +32767
bigintint8 8 字节 大范围 -9223372036854775808 到 +9223372036854775807
SQL 中的探索性数据分析

数值类型:整数

名称 存储大小 说明 取值范围
integerintint4 4 字节 常用选择                            -2147483648 到 +2147483647
smallintint2 2 字节 小范围 -32768 到 +32767
bigintint8 8 字节 大范围 -9223372036854775808 到 +9223372036854775807
serial 4 字节 自增 1 到 2147483647
smallserial 2 字节 小自增 1 到 32767
bigserial 8 字节 大自增 1 到 9223372036854775807
SQL 中的探索性数据分析

数值类型:定点小数

名称 存储大小 说明 取值范围
decimalnumeric            可变 用户指定精度,精确 小数点前最多 131072 位;小数点后最多 16383 位
SQL 中的探索性数据分析

数值类型:定点与浮点

名称 存储大小 说明 取值范围
decimalnumeric            可变 用户指定精度,精确 小数点前最多 131072 位;小数点后最多 16383 位
real 4 字节 可变精度,非精确 6 位小数精度
double precision 8 字节 可变精度,非精确 15 位小数精度
SQL 中的探索性数据分析

除法

-- integer division
SELECT 10/4;
2
-- numeric division
SELECT 10/4.0;
2.500000000
SQL 中的探索性数据分析

范围:最小值与最大值

SELECT min(question_pct)
  FROM stackoverflow;
 min 
-----
   0
(1 row)

SELECT max(question_pct)
  FROM stackoverflow;
     max     
-------------
 0.071957428
(1 row)
SQL 中的探索性数据分析

平均值(均值)

SELECT avg(question_pct)
  FROM stackoverflow;
         avg         
---------------------
 0.00379494620059319
(1 row)

SQL 中的探索性数据分析

方差

总体方差

SELECT var_pop(question_pct)
  FROM stackoverflow;
       var_pop        
----------------------
 0.000140268640974167
(1 row)

样本方差

SELECT var_samp(question_pct)
  FROM stackoverflow;
       var_samp       
----------------------
 0.000140271571051059
(1 row)
SELECT variance(question_pct)
  FROM stackoverflow;
       variance       
----------------------
 0.000140271571051059
(1 row)
SQL 中的探索性数据分析

标准差

样本标准差

SELECT stddev_samp(question_pct)
  FROM stackoverflow;
     stddev_samp     
--------------------
 0.0118436299778007
(1 row)
SELECT stddev(question_pct)
  FROM stackoverflow;
       stddev       
--------------------
 0.0118436299778007
(1 row)

总体标准差

SELECT stddev_pop(question_pct)
  FROM stackoverflow;
      stddev_pop     
--------------------
 0.0118435062787237
(1 row)
SQL 中的探索性数据分析

四舍五入

SELECT round(42.1256, 2);
42.13
SQL 中的探索性数据分析

按组汇总

-- Summarize by group with GROUP BY
SELECT tag,
       min(question_pct), 
       avg(question_pct), 
       max(question_pct) 
  FROM stackoverflow
 GROUP BY tag;
           tag            |     min     |         avg          |     max     
--------------------------+-------------+----------------------+-------------
 amazon-sqs               |    6.91e-05 | 8.08328877005347e-05 |     9.6e-05
 amazon-kinesis           |     2.1e-05 |  3.3924064171123e-05 |    4.64e-05
 android-pay              |    2.97e-05 | 3.16712477396022e-05 |    3.29e-05
 amazon-cloudformation    |     4.8e-05 | 9.34518997326204e-05 |  0.00015246
 citrix                   |     3.6e-05 | 3.95804407713499e-05 |    4.39e-05
 amazon-ec2               | 0.001058039 |  0.00122817236730946 | 0.001378872
 actionscript             | 0.000551486 |  0.00067589990909091 | 0.000856132
 amazon-ecs               |    1.17e-05 | 3.40544117647059e-05 |    6.51e-05
 mongodb                  |   0.0049625 |  0.00577465885069125 |  0.00631164
 amazon-redshift          | 0.000117294 | 0.000160832181818182 | 0.000212208
...
SQL 中的探索性数据分析

让我们来算数吧!

SQL 中的探索性数据分析

Preparing Video For Download...