本文介绍了数据仓库常用SQL函数求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。
对技术面试,学习经验等有一些体会,在此分享。
我们都知道数据仓库工程师每天都会处理海量的数据,这些数据来源于数据库或者是缓冲层,有些直接到了贴源层,那么怎么从数据库取数据?如何建立两表、三表之间的关系?怎么取到自己想要的特定的数据?等等这些数据选择问题都是作为一个数据仓库开发首要考虑的问题,而这些问题都是通过SQL解决的,所以SQL是数据分析的最基础的技能
关于DML,DQL等或者更基础的SQL教程可以阅读这里:w3cschool(https://link.zhihu.com/?target=https%3A//www.w3cschool.cn/sql/)
此类函数还有一个岗位应用也是非常常见的那就是 数据分析师
分析函数主要分为四类:
- 1.聚合分析函数
- 2.排名分析函数
- 3.数学分析函数
- 4.行比较分析函数
- 5.转换函数
- 6.日期函数
- 7.字符串函数
一.聚合分析函数
- SUM :该函数计算组中表达式的累积和
- COUNT :对一组内发生的事情进行累积计数
- MIN :在一个组中的数据窗口中查找表达式的最小值
- MAX :在一个组中的数据窗口中查找表达式的最大值
- AVG :用于计算一个组和数据窗口内表达式的平均值。
二.排名分析函数
- ROW_NUMBER :– 正常排序[1,2,3,4] — 必须有order_by,赋予唯一的连续位次。
- RANK :– 跳跃排序[1,2,2,4] — 必须有order_by,计算排序时,如果存在相同位次的记录,则会跳过之后的位次。
- DENSE_RANK :– 密集排序[1,2,2,3] — 必须有order_by,计算排序,即使存在相同位次的记录,也不会跳过之后的位次
- FIRST :从DENSE_RANK返回的集合中取出排在最前面的一个值的行
- LAST :从DENSE_RANK返回的集合中取出排在最后面的一个值的行
- FIRST_VALUE :返回组中数据窗口的第一个值
- LAST_VALUE :返回组中数据窗口的最后一个值。
三.数学分析函数
- STDDEV :计算当前行关于组的标准偏离
- STDDEV_POP:该函数计算总体标准偏离,并返回总体变量的平方根
- STDDEV_SAMP:该函数计算累积样本标准偏离,并返回总体变量的平方根
- VAR_POP :该函数返回非空集合的总体变量(忽略null)
- VAR_SAMP :该函数返回非空集合的样本变量(忽略null)
- VARIANCE :如果表达式中行数为1,则返回0,如果表达式中行数大于1,则返回VAR_SAMP
- COVAR_POP :返回一对表达式的总体协方差
- COVAR_SAMP :返回一对表达式的样本协方差
- CORR :返回一对表达式的相关系数
- CUME_DIST :计算一行在组中的相对位置
- NTILE :将一个组分为”表达式”的散列表示(类于Hive的分桶原理)
- PERCENT_RANK :和CUME_DIST(累积分配)函数类似
- PERCENTILE_DISC :返回一个与输入的分布百分比值相对应的数据值
- PERCENTILE_CONT :返回一个与输入的分布百分比值相对应的数据值
- RATIO_TO_REPORT :该函数计算expression/(sum(expression))的值,它给出相对于总数的百分比
- REGR_ (Linear Regression) Functions :这些线性回归函数适合最小二乘法回归线,有9个不同的回归函数可使用
四.行比较分析函数
- LAG :可以访问结果集中的其它行而不用进行自连接 — 落后 — lag(xx,1,0)
- LEAD :LEAD与LAG相反,LEAD3可以访问组中当前行之后的行 — 领先 — lead(xx,1,0)
五.转换函数
- CAST()—数据类型转换,CAST (expression AS data_type),如CAST(’12’ASint)
- CONVERT()—数据类型转换
六.日期函数
- ADDDATE()增加日期
- ADDTIME()增加时间
- CONVERT_TZ()将当前时区更改为另一时区
- CURDATE()返回当前日期
- CURRENT_DATE(), CURRENT_DATECURDATE() 的别名
- CURRENT_TIME(), CURRENT_TIMECURTIME() 的别名
- CURRENT_TIMESTAMP(), CURRENT_TIMESTAMPNOW() 的别名
- CURTIME()返回当前时间
- DATE_ADD()将两个日期相加
- DATE_FORMAT()按照指定格式格式化日期
- DATE_SUB()将两个日期相减
- DATE()从 date 或者 datetime 表达式中提取出日期部分
- DATEDIFF()将两个日期相减
- DAY()DAYOFMONTH() 的别名
- DAYNAME()返回某天在用星期中的名称
- DAYOFMONTH()返回某天是当月的第几天 (1-31)
- DAYOFWEEK()返回某天是该星期的第几天
- DAYOFYEAR()返回某天是一年中的第几天(1-366)
- EXTRACT提取日期中的某一部分
- FROM_DAYS()将天数转换为日期
- FROM_UNIXTIME()将某个日期格式化为 UNIX 时间戳
- HOUR()提取小时
- LAST_DAY返回参数日期所在月份的最后一天
- LOCALTIME(), LOCALTIMENOW() 的别名
我们都知道数据仓库工程师每天都会处理海量的数据,这些数据来源于数据库或者是缓冲层,有些直接到了贴源层,那么怎么从数据库取数据?如何建立两表、三表之间的关系?怎么取到自己想要的特定的数据?等等这些数据选择问题都是作为一个数据仓库开发首要考虑的问题,而这些问题都是通过SQL解决的,所以SQL是数据分析的最基础的技能
关于DML,DQL等或者更基础的SQL教程可以阅读这里:w3cschool(https://link.zhihu.com/?target=https%3A//www.w3cschool.cn/sql/)
此类函数还有一个岗位应用也是非常常见的那就是 数据分析师
分析函数主要分为四类:
- 1.聚合分析函数
- 2.排名分析函数
- 3.数学分析函数
- 4.行比较分析函数
- 5.转换函数
- 6.日期函数
- 7.字符串函数
一.聚合分析函数
- SUM :该函数计算组中表达式的累积和
- COUNT :对一组内发生的事情进行累积计数
- MIN :在一个组中的数据窗口中查找表达式的最小值
- MAX :在一个组中的数据窗口中查找表达式的最大值
- AVG :用于计算一个组和数据窗口内表达式的平均值。
二.排名分析函数
- ROW_NUMBER :– 正常排序[1,2,3,4] — 必须有order_by,赋予唯一的连续位次。
- RANK :– 跳跃排序[1,2,2,4] — 必须有order_by,计算排序时,如果存在相同位次的记录,则会跳过之后的位次。
- DENSE_RANK :– 密集排序[1,2,2,3] — 必须有order_by,计算排序,即使存在相同位次的记录,也不会跳过之后的位次
- FIRST :从DENSE_RANK返回的集合中取出排在最前面的一个值的行
- LAST :从DENSE_RANK返回的集合中取出排在最后面的一个值的行
- FIRST_VALUE :返回组中数据窗口的第一个值
- LAST_VALUE :返回组中数据窗口的最后一个值。
三.数学分析函数
- STDDEV :计算当前行关于组的标准偏离
- STDDEV_POP:该函数计算总体标准偏离,并返回总体变量的平方根
- STDDEV_SAMP:该函数计算累积样本标准偏离,并返回总体变量的平方根
- VAR_POP :该函数返回非空集合的总体变量(忽略null)
- VAR_SAMP :该函数返回非空集合的样本变量(忽略null)
- VARIANCE :如果表达式中行数为1,则返回0,如果表达式中行数大于1,则返回VAR_SAMP
- COVAR_POP :返回一对表达式的总体协方差
- COVAR_SAMP :返回一对表达式的样本协方差
- CORR :返回一对表达式的相关系数
- CUME_DIST :计算一行在组中的相对位置
- NTILE :将一个组分为”表达式”的散列表示(类于Hive的分桶原理)
- PERCENT_RANK :和CUME_DIST(累积分配)函数类似
- PERCENTILE_DISC :返回一个与输入的分布百分比值相对应的数据值
- PERCENTILE_CONT :返回一个与输入的分布百分比值相对应的数据值
- RATIO_TO_REPORT :该函数计算expression/(sum(expression))的值,它给出相对于总数的百分比
- REGR_ (Linear Regression) Functions :这些线性回归函数适合最小二乘法回归线,有9个不同的回归函数可使用
四.行比较分析函数
- LAG :可以访问结果集中的其它行而不用进行自连接 — 落后 — lag(xx,1,0)
- LEAD :LEAD与LAG相反,LEAD3可以访问组中当前行之后的行 — 领先 — lead(xx,1,0)
五.转换函数
- CAST()—数据类型转换,CAST (expression AS data_type),如CAST(’12’ASint)
- CONVERT()—数据类型转换
六.日期函数
- ADDDATE()增加日期
- ADDTIME()增加时间
- CONVERT_TZ()将当前时区更改为另一时区
- CURDATE()返回当前日期
- CURRENT_DATE(), CURRENT_DATECURDATE() 的别名
- CURRENT_TIME(), CURRENT_TIMECURTIME() 的别名
- CURRENT_TIMESTAMP(), CURRENT_TIMESTAMPNOW() 的别名
- CURTIME()返回当前时间
- DATE_ADD()将两个日期相加
- DATE_FORMAT()按照指定格式格式化日期
- DATE_SUB()将两个日期相减
- DATE()从 date 或者 datetime 表达式中提取出日期部分
- DATEDIFF()将两个日期相减
- DAY()DAYOFMONTH() 的别名
- DAYNAME()返回某天在用星期中的名称
- DAYOFMONTH()返回某天是当月的第几天 (1-31)
- DAYOFWEEK()返回某天是该星期的第几天
- DAYOFYEAR()返回某天是一年中的第几天(1-366)
- EXTRACT提取日期中的某一部分
- FROM_DAYS()将天数转换为日期
- FROM_UNIXTIME()将某个日期格式化为 UNIX 时间戳
- HOUR()提取小时
- LAST_DAY返回参数日期所在月份的最后一天
- LOCALTIME(), LOCALTIMENOW() 的别名
我们都知道数据仓库工程师每天都会处理海量的数据,这些数据来源于数据库或者是缓冲层,有些直接到了贴源层,那么怎么从数据库取数据?如何建立两表、三表之间的关系?怎么取到自己想要的特定的数据?等等这些数据选择问题都是作为一个数据仓库开发首要考虑的问题,而这些问题都是通过SQL解决的,所以SQL是数据分析的最基础的技能
关于DML,DQL等或者更基础的SQL教程可以阅读这里:w3cschool(https://link.zhihu.com/?target=https%3A//www.w3cschool.cn/sql/)
此类函数还有一个岗位应用也是非常常见的那就是 数据分析师
分析函数主要分为四类:
- 1.聚合分析函数
- 2.排名分析函数
- 3.数学分析函数
- 4.行比较分析函数
- 5.转换函数
- 6.日期函数
- 7.字符串函数
一.聚合分析函数
- SUM :该函数计算组中表达式的累积和
- COUNT :对一组内发生的事情进行累积计数
- MIN :在一个组中的数据窗口中查找表达式的最小值
- MAX :在一个组中的数据窗口中查找表达式的最大值
- AVG :用于计算一个组和数据窗口内表达式的平均值。
二.排名分析函数
- ROW_NUMBER :– 正常排序[1,2,3,4] — 必须有order_by,赋予唯一的连续位次。
- RANK :– 跳跃排序[1,2,2,4] — 必须有order_by,计算排序时,如果存在相同位次的记录,则会跳过之后的位次。
- DENSE_RANK :– 密集排序[1,2,2,3] — 必须有order_by,计算排序,即使存在相同位次的记录,也不会跳过之后的位次
- FIRST :从DENSE_RANK返回的集合中取出排在最前面的一个值的行
- LAST :从DENSE_RANK返回的集合中取出排在最后面的一个值的行
- FIRST_VALUE :返回组中数据窗口的第一个值
- LAST_VALUE :返回组中数据窗口的最后一个值。
三.数学分析函数
- STDDEV :计算当前行关于组的标准偏离
- STDDEV_POP:该函数计算总体标准偏离,并返回总体变量的平方根
- STDDEV_SAMP:该函数计算累积样本标准偏离,并返回总体变量的平方根
- VAR_POP :该函数返回非空集合的总体变量(忽略null)
- VAR_SAMP :该函数返回非空集合的样本变量(忽略null)
- VARIANCE :如果表达式中行数为1,则返回0,如果表达式中行数大于1,则返回VAR_SAMP
- COVAR_POP :返回一对表达式的总体协方差
- COVAR_SAMP :返回一对表达式的样本协方差
- CORR :返回一对表达式的相关系数
- CUME_DIST :计算一行在组中的相对位置
- NTILE :将一个组分为”表达式”的散列表示(类于Hive的分桶原理)
- PERCENT_RANK :和CUME_DIST(累积分配)函数类似
- PERCENTILE_DISC :返回一个与输入的分布百分比值相对应的数据值
- PERCENTILE_CONT :返回一个与输入的分布百分比值相对应的数据值
- RATIO_TO_REPORT :该函数计算expression/(sum(expression))的值,它给出相对于总数的百分比
- REGR_ (Linear Regression) Functions :这些线性回归函数适合最小二乘法回归线,有9个不同的回归函数可使用
四.行比较分析函数
- LAG :可以访问结果集中的其它行而不用进行自连接 — 落后 — lag(xx,1,0)
- LEAD :LEAD与LAG相反,LEAD3可以访问组中当前行之后的行 — 领先 — lead(xx,1,0)
五.转换函数
- CAST()—数据类型转换,CAST (expression AS data_type),如CAST(’12’ASint)
- CONVERT()—数据类型转换
六.日期函数
- ADDDATE()增加日期
- ADDTIME()增加时间
- CONVERT_TZ()将当前时区更改为另一时区
- CURDATE()返回当前日期
- CURRENT_DATE(), CURRENT_DATECURDATE() 的别名
- CURRENT_TIME(), CURRENT_TIMECURTIME() 的别名
- CURRENT_TIMESTAMP(), CURRENT_TIMESTAMPNOW() 的别名
- CURTIME()返回当前时间
- DATE_ADD()将两个日期相加
- DATE_FORMAT()按照指定格式格式化日期
- DATE_SUB()将两个日期相减
- DATE()从 date 或者 datetime 表达式中提取出日期部分
- DATEDIFF()将两个日期相减
- DAY()DAYOFMONTH() 的别名
- DAYNAME()返回某天在用星期中的名称
- DAYOFMONTH()返回某天是当月的第几天 (1-31)
- DAYOFWEEK()返回某天是该星期的第几天
- DAYOFYEAR()返回某天是一年中的第几天(1-366)
- EXTRACT提取日期中的某一部分
- FROM_DAYS()将天数转换为日期
- FROM_UNIXTIME()将某个日期格式化为 UNIX 时间戳
- HOUR()提取小时
- LAST_DAY返回参数日期所在月份的最后一天
- LOCALTIME(), LOCALTIMENOW() 的别名
部分转自互联网,侵权删除联系
最新评论