您当前的位置:首页 > 互联网百科 > 大数据

24个用于数据分析任务的常用SQL函数

时间:2020-07-26 12:02:22  来源:  作者:

与21世纪的数据相关的所有事物都已变得至关重要。对于任何数据科学有志者来说,关键技能之一就是掌握SQL函数,以进行有效而高效的数据检索。SQL被广泛用于直接从数据库查询,因此,SQL是用于数据分析任务的最常用语言之一。但是它有其自身的复杂性和细微差别。

 

24个用于数据分析任务的常用SQL函数

 

当涉及到SQL函数时,它们有很多。您需要在正确的时间了解正确的功能,以实现所需的功能。但是,包括我在内的我们大多数人都有跳过这个话题或将其悬而未决的趋势。相信我,在学习过程中保持这些话题不变是一个愚蠢的错误。

因此,在本文中,我将带您了解一些您必须定期用于数据分析任务的最常见的SQL函数。

数据集简介

我将通过使用虚拟数据集向您展示本文涵盖的所有功能的实际应用。假设全国各地都有零售连锁店。以下SQL表记录了从零售店购买商品的人,购买商品的日期,所来自的城市以及购买金额。

24个用于数据分析任务的常用SQL函数

 

我们将使用此示例,在本文中学习不同的功能。

 

汇总功能

  • 计数最重要的聚合函数之一是count()函数。它从表中的列返回记录数。在我们的表格中,我们可以使用count()函数获取订单来自的城市数。我们这样做如下:
  •  
  • 您会在这里注意到两件事。首先,Null函数对空值进行计数。然后,重复值被多次计数。为了解决这个问题,我们可以将其与distinct()函数配对,该函数将仅计算该列中的不同值。
24个用于数据分析任务的常用SQL函数

 

  • 和每当我们处理与数字有关的列时,我们必然要检查它们的总和。例如,在我们的表中,金额的总和对于分析已发生的销售很重要。可以使用对列名称起作用的sum()函数来计算总和。
24个用于数据分析任务的常用SQL函数

 

  • 但是,如果我们想要计算总金额为每一个城市?为此,我们可以将此功能与Groupby子句结合使用,以按城市对输出进行分组。这是您如何实现的。
24个用于数据分析任务的常用SQL函数

 

  • 这向我们表明,该公司将Indore视为我们收入最高的城市。
  • 平均过去曾做过一些数据分析的任何人都知道,平均值是比仅计算数值总和更好的度量标准。在我们的示例中,我们有来自同一城市的多个订单,因此,计算平均金额而不是总金额会更加谨慎
  •  
  • 最小和最大最后,如果不计算最小值和最大值,汇总值分析将无法完成。可以使用min()和max()函数简单地计算这些值。
  •  

数学函数

大多数时候,您将不得不处理SQL表中的数字以进行数据分析。要处理这些数字,您需要数学函数。这些可能有一个简单的定义,但在分析时,它们是使用最多的函数。

  • 腹肌abs()是最常见的数学函数。它计算作为参数传递的数值的绝对值。为了了解在哪里有帮助,让我们首先从表中找出每个记录的金额与平均金额的偏差。
  •  
  • 现在,如您所见,这里有一些负值。可以使用abs()函数将其轻松转换为正值,如下所示:
  •  
  • 天花板和地板处理数字值时,其中一些可能具有十进制值。你如何处理这些?您可以简单地将它们转换为使用ceil()的下一个较高的整数,或者使用floor()转换为上一个较低的整数。在我们的表格中,“ 金额”列有很多十进制值。我们可以使用ceil()或floor()函数将它们转换为整数。
  •  
  • 截短有时您不希望将十进制值转换为整数,而是截断数字中的小数位数。Truncate()函数实现了它。您要做的就是将十进制数作为第一个参数,并将要截断的位数作为第二个参数。
  • 如您所见,我将值截断到小数点后一位。
  • 模数模函数是强大而重要的功能。当第二个数字除以第一个数字时,Modulo返回剩余的余数。通过调用函数mod(x,y)来使用它,其中的结果是x除以y时剩下的余数。它在分析中具有非常重要的作用。您可以使用它从SQL表中查找奇数或偶数记录。例如,在示例表中,我可以使用模函数来查找数量奇数的那些记录。
  •  
  • 或者,如果使用not关键字否定上述结果,我甚至可以找到数量。

 

字符串函数

当您使用SQL表时,您将始终需要处理字符串。当您想以一种合理的方式输出结果时,它们尤其重要。

  • 上下限您可以分别使用upper()或lower()函数将字符串值转换为大写或小写。简而言之,这有助于使记录值更加一致。

 

  • 康卡特concat()函数将两个或多个字符串合并为一个。您要做的就是将要连接的字符串作为参数提供。
  • 就像您已经注意到的那样,即使其中一个值是Null,整个输出也会作为Null值返回。
  • 修剪Trim是一个非常重要的功能,不仅在SQL中,而且在任何语言中都有。它是最重要的字符串函数之一。它从字符串中删除任何前导或尾随空格。例如,在我们的示例表中,“ 姓氏”列中有许多尾随和前导空格。我们可以使用trim()函数删除它们。
  •  
  • 如您所见,该函数已经修剪了字符串中的任何前导或尾随空格。

 

日期和时间功能

首先,毫无疑问,日期和时间功能的相关性。但这只有在您知道如何妥善处理它们的情况下!查看以下日期和时间功能,以掌握您的分析技能。

  • 日期和时间如果您像示例表中一样具有日期和时间的公共列,那么您将需要使用date()和time()函数来提取相应的值。
  • 提取但是有时您可能想更进一步,分析在一周或一个月的特定日期或一天中的特定时间下达了多少订单。为此,您需要使用超级方便的extract()函数。语法是简单的:提取物(单元/日期)单位可以是年,月,分钟或秒。
  • 您甚至可以提取一年中的一周或一年中的某个季度。
  •  
  • 您可以从日期中提取的所有单位的完整列表如下:
  •  
  • 如您所见,您可以使用extract()函数进行很多分析!
  • 日期格式有时,数据库中的日期将以与您希望查看的日期不同的格式保存。因此,要更改日期格式,可以使用date_format()函数。语法如下:date_format(date,format)当前,样本表中保存的日期采用年-月-日格式。使用此功能,我将以日-月名称-年份格式输出日期。
  •  
  • 根据您的要求,有很多机会可以更改格式。

windows功能

窗口函数是重要的函数,但要理解它可能有些棘手。因此,我们首先从了解基本窗口功能开始。

视窗功能

窗口函数执行的计算类似于聚合函数,但略有扭曲。虽然常规聚合函数将行分组为一个输出值,但window函数却不这样做。窗口函数可用于行的子集,但不会减少行数。这些保留其各自的身份。为了更好地理解它,让我们比较一个简单的聚合函数sum()。

24个用于数据分析任务的常用SQL函数

 

在这里,我们获得所有行的合计值。现在让我们将Windows函数用于此聚合函数,看看会发生什么。

24个用于数据分析任务的常用SQL函数

 

您一定已经注意到,我们仍然会获得汇总总和值,但它们是由不同的城市组分开的。注意,我们计算每一行的输出。

该OVER 子句将简单集合函数到Windows功能。语法很简单,如下所示:

window_function_name(< expression>)OVER(< partition_clause> < order_clause>

OVER子句之前的部分是聚合函数或Windows函数。在接下来的部分中,我们将介绍一些窗口功能。

OVER子句之后的部分可以分为两部分:

  • Partition_clause定义行之间的分区。窗口功能在每个分区内运行。在通过分区子句定义它。
  • Order_clause对分区中的行进行排序。在按订单子句定义它。

在后面的部分中,我们将在其他一些窗口功能中进行详细介绍。

简单的窗口函数是rank()函数。顾名思义,它基于条件对分区组中的行进行排名。

它具有以下语法:Rank()Over(按<expression>分区按<expression>排序)

让我们使用此函数根据每个城市内的订单量对表中的行进行排名。

24个用于数据分析任务的常用SQL函数

 

因此,这些行已在其各自的分区组(或city)内排名。

 

  • 百分比值

这是一个重要的窗口函数,可找到组中行的相对排名。它确定每一行的百分位数值。

其语法如下:Percent_rank()Over(按<expression>进行分区按<expression>进行排序)

尽管partition子句是可选的。

让我们使用此功能来确定表中每个客户的金额百分比。

 

24个用于数据分析任务的常用SQL函数

 

 

  • Nth_value

有时您想找出哪一行具有最高,最低或第n个最高值。例如,在这种情况下,您需要nth_value() Windows函数时,学校中得分最高的人,销售业绩最好的人等。

结果,该函数从一组有序行中返回第n个行值。语法如下:

nth_value()顺序(按<表达式>分区按<表达式>顺序)

让我们使用此函数来找出谁是表中的最大买家。

24个用于数据分析任务的常用SQL函数

 

 

杂项功能

到目前为止,我们已经讨论了非常具体的功能。现在,我们将探讨一些其他功能,这些功能无法归类到特定的功能组中,但具有巨大的价值。

  • 兑换有时,您可能希望将输出值转换为指定的数据类型。此外,您可以将其视为强制转换,可以在其中更改值的数据类型。它的语法很简单:convert(value,type)我们可以在打印值之前使用它来转换日期列的数据类型。
24个用于数据分析任务的常用SQL函数

 

 

  • 一片空白通常,如果您不为属性指定非值,则很可能在该列中使用一些空值。但是,您可以使用isull()函数轻松处理它们。您只需要在函数内编写表达式。它将为空返回1,否则返回0。
  •  
  • 看起来我们表中的lastname属性有一些空值!

 

  • 如果最后,您将在SQL中使用的最重要的函数是if()函数。它使您可以定义在任何编程语言中遇到的if条件。它具有简单的语法:if(expression,value_if_true,value_if_false)使用此功能,让我们找出哪个客户支付了超过1000的订单金额。
  •  
  • 此外,此功能的使用是无限的,并且正确地经常用于数据分析任务。

 

尾注

总而言之,我们介绍了许多基本的SQL函数,这些函数必将在日常数据分析任务中大量使用。

如果你对数据分析感兴趣,可以了解一下九道门商业数据分析实训课的设计,或许能找到入门的最佳途径!



Tags:数据分析   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
1、什么是数据分析结合分析工具,运用数据分析思维,分析庞杂数据信息,为业务赋能。 2、数据分析师工作的核心流程:(1)界定问题:明确具体问题是什么;●what 发生了什么(是什么)●why 为...【详细内容】
2021-12-01  Tags: 数据分析  点击:(25)  评论:(0)  加入收藏
最近有一位刚入行的朋友跟我吐槽,说他提交了一份8月的经营数据分析报告给领导,报告里面放了很多图表,也罗列了很多数据,结果却被老板痛批了一顿,说分析了半天也看不懂他的分析逻...【详细内容】
2021-09-17  Tags: 数据分析  点击:(44)  评论:(0)  加入收藏
老李最近在后台看到很多想进入数据分析领域的朋友私信我,让我帮忙解答一些职业问题。在跟他们的交流中,我发现他们之中70%都是一无所知或刚入门的数据小白,但是都特别积极主动,...【详细内容】
2021-09-16  Tags: 数据分析  点击:(80)  评论:(0)  加入收藏
1 内容总概不管是数据分析还是数据运营,少不了做分析报告,通常一份简洁的分析报告总是令人眼前一亮,但是,大部分同学拿到一组数据时,不能很好的应用,没有思路、想法和头绪,这里作者...【详细内容】
2021-09-14  Tags: 数据分析  点击:(46)  评论:(0)  加入收藏
在不久前结束的东京奥运会女子10米气步枪赛场上,杨倩以251.8环破了奥运记录,代表中国拿下东京奥运会首金。她又与杨浩然一起,顶住压力拿下10米气枪混合团体赛金牌。在感受到强...【详细内容】
2021-08-16  Tags: 数据分析  点击:(53)  评论:(0)  加入收藏
随着数据分析岗位招聘越来越内卷,问“你用过/建过什么模型”的也越来越多。这个问题很容易给人“面试造航母,工作拧螺丝”的感觉。实际工作中,真的要搞那么多模型???搞得很多同学...【详细内容】
2021-07-13  Tags: 数据分析  点击:(70)  评论:(0)  加入收藏
明确目的带着问题出发,明确我们的目的是探索不同岗位、城市、公司数据人薪资是怎样的,所以是一个探索性分析。数据处理1、查看并理解字段拿到数据,大概看一下,总共有184条记录,量...【详细内容】
2021-07-06  Tags: 数据分析  点击:(89)  评论:(0)  加入收藏
本文讲解窗口函数的概念,窗口函数与数据分组的功能相似,可以指定数据窗口进行统计分析,但窗口函数与数据分组又有所区别,窗口函数对每个组返回多行,而数据分组对每个组只返回一行...【详细内容】
2021-06-25  Tags: 数据分析  点击:(65)  评论:(0)  加入收藏
数据分析思维九段路线1. 初段:目标思维做数据分析,首先要一定明确目标,以终为始。只有明确目标,才不会迷失方向,就像导航软件,如果没有设置目的地,那么它是没法告诉你路线图的。目...【详细内容】
2021-06-25  Tags: 数据分析  点击:(104)  评论:(0)  加入收藏
缺失的原因1)有些信息暂时无法获取,或者获取信息的代价太大2)有些信息是被遗漏的。3)属性值不存在。缺失值的影响1)数据挖掘建模将丢失大量的有用信息。2)数据挖掘模型所表现出的...【详细内容】
2021-05-20  Tags: 数据分析  点击:(366)  评论:(0)  加入收藏
▌简易百科推荐
张欣安科瑞电气股份有限公司 上海嘉定 201801 摘要:随着电力行业各系统接入,海量数据涌现,如何利用电网信息化中大量数据,对客户需求进行判断分析,服务于营销链条,提升企业市场竞...【详细内容】
2021-12-14  安科瑞张欣    Tags:大数据   点击:(9)  评论:(0)  加入收藏
1、什么是数据分析结合分析工具,运用数据分析思维,分析庞杂数据信息,为业务赋能。 2、数据分析师工作的核心流程:(1)界定问题:明确具体问题是什么;●what 发生了什么(是什么)●why 为...【详细内容】
2021-12-01  逆风北极光    Tags:大数据   点击:(25)  评论:(0)  加入收藏
在实际工作中,我们经常需要整理各个业务部门发来的数据。不仅分散,而且数据量大、格式多。单是从不同地方汇总整理这些原始数据就花了大量的时间,更不用说还要把有效的数据收集...【详细内容】
2021-11-30  百数    Tags:数据   点击:(21)  评论:(0)  加入收藏
数据作为新的生产要素,其蕴含的价值日益凸显,而安全问题却愈发突出。密码技术,是实现数据安全最经济、最有效、最可靠的手段,对数据进行加密,并结合有效的密钥保护手段,可在开放环...【详细内容】
2021-11-26  炼石网络    Tags:数据存储   点击:(17)  评论:(0)  加入收藏
导读:网易大数据平台的底层数据查询引擎,选用了Impala作为OLAP查询引擎,不但支撑了网易大数据的交互式查询与自助分析,还为外部客户提供了商业化的产品与服务。今天将为大家分享...【详细内容】
2021-11-26  DataFunTalk    Tags:大数据   点击:(15)  评论:(0)  加入收藏
导读:数据挖掘是一种发现知识的手段。数据挖掘要求数据分析师通过合理的方法,从数据中获取与挖掘项目相关的知识。作者:赵仁乾 田建中 叶本华 常国珍来源:华章科技数据挖掘是一...【详细内容】
2021-11-23  华章科技  今日头条  Tags:数据挖掘   点击:(20)  评论:(0)  加入收藏
今天再给大家分享一个不错的可视化大屏分析平台模板DataColour。 data-colour 可视化分析平台采用前后端分离模式,后端架构设计采用微服务架构模式。 前端技术:Angularjs、Jq...【详细内容】
2021-11-04  web前端进阶    Tags:DashboardClient   点击:(39)  评论:(0)  加入收藏
在Kubernetes已经成了事实上的容器编排标准之下,微服务的部署变得非常容易。但随着微服务规模的扩大,服务治理带来的挑战也会越来越大。在这样的背景下出现了服务可观测性(obs...【详细内容】
2021-11-02  大数据推荐杂谈    Tags:Prometheus   点击:(40)  评论:(0)  加入收藏
同一产品对老客户的要价竟然比新客户要高?这是当下“大数据杀熟”的直接结果。近年来,随着平台经济的蓬勃发展,大数据在为用户服务之外,也引发了多种不合理现象。为了有效遏制“...【详细内容】
2021-10-29    海外网   Tags:大数据   点击:(31)  评论:(0)  加入收藏
本人03年开始从事贸易行业,多年来一直致力于外贸获客和跨境电商选品等领域,最近有些小伙伴反馈海关数据演示的都挺好为啥用起来不是那么回事?大家看到数据时关注的有产品、采购...【详细内容】
2021-10-28  QD云龙    Tags:数据   点击:(33)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条