用于数据分析的SQL技术有哪些
本篇内容介绍了“用于数据分析的SQL技术有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
创新互联公司于2013年开始,是专业互联网技术服务公司,拥有项目成都网站设计、成都网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元云城做网站,已为上家服务,为云城各地企业和个人服务,联系电话:18982081108
了解数据集
学习数据分析的最好方法是什么?通过在一个数据集上执行它!
为此,我创建了一个零售商店的虚拟数据集。客户数据表由ConsumerDetails表示。
我们的数据集由以下列组成:
Name –消费者的名称
Locality –客户所在地
Total_amt_spend –消费者在商店中花费的总金额
Industry –它表示消费者所属的行业
注:我们将使用MySQL5.7进行实验。
SQL技术1–计算行和项
Count函数
我们将从最简单的查询开始分析,即计算表中的行数。我们将使用函数COUNT()来完成此操作。
太好了!现在我们知道表中的行数是10。在一个小的测试数据集上使用这个函数似乎没用。但是当你的行数达到数百万时,它会有很大的帮助!
Distinct函数
很多时候,我们的数据表中充满了重复的值。为了获得独一的值,我们使用了不同的函数。
在我们的数据集中,我们如何找到客户所属的行业?
你猜对了。我们可以通过使用DISTINCT函数来实现这一点。
你甚至可以使用count和distinct一起计算唯一行的数量。你可以参考以下查询:
SQL技术2–聚合函数
聚合函数是任何数据分析的基础。它们为我们提供了数据集的概述。我们将讨论的一些函数是–SUM()、AVG()和STDDEV()。
SUM函数
我们使用SUM()函数计算表中数值列的和。
我们来计算一下每位顾客的消费总额:
在上面的例子中,sum_all是存储sum值的变量。消费者的消费总额是12560卢比。
AVG函数
AVG()函数计算平均值。让我们找出消费者对我们零售店的平均支出:
顾客在零售店的平均消费额为1256卢比。
STDDEV函数
如果你查看了数据集,然后查看了消费者的平均支出值,你会发现有些东西遗漏了。平均值并不能提供完整的理解,所以让我们找到另一个重要的指标——标准差。函数为STDDEV()。
标准差为829.7,这意味着消费者的支出之间存在很大差距!
SQL技术3–极值识别
下一种类型的分析是确定极值,这将有助于你更好地理解数据。
Max函数
可以使用MAX()函数标识最大数值。让我们看看如何应用它:
消费者在零售店的最高消费额是3000卢比。
Min函数
与max函数类似,我们有MIN()函数来标识给定列中的最小数值:
零售店消费者的最低消费额是350卢比。
SQL技术4–数据切片
现在,让我们关注数据分析中最重要的部分之一——数据切片。分析的这一部分将构成高级查询的基础,并帮助你根据某种条件检索数据。
假设零售店希望找到来自某个地方的客户,特别是Shakti Nagar和Shanti Vihar地区。
太好了,我们有3个客户!我们使用WHERE子句根据消费者应该居住在当地的条件筛选出数据—Shakti Nagar和Shanti Vihar。
我没有在这里使用OR条件。相反,我使用了IN运算符,它允许我们在WHERE子句中指定多个值。
我们需要找到那些居住在特定地区(Shakti Nagar和Shanti Vihar)且消费金额超过2000卢比的客户。
在我们的数据集中,只有Shantanu和Natasha满足这些条件。由于这两个条件都需要满足,所以和条件更适合这里。让我们看看另一个例子。
这一次,零售店希望找回所有消费在1000卢比到2000卢比之间的消费者,以便推出特别的营销优惠。
另一种写同样语句的方法是:
只有Rohan在满足这个标准!
太好了!我们已经走到一半了。让我们在迄今所获得的知识基础上再接再厉。
SQL技术5–限制数据
Limit
假设我们要查看由数百万条记录组成的数据表。我们不能直接使用SELECT语句,因为这会将整个表转储到我们的屏幕上,这既麻烦又计算密集。我们可以使用Limit:
上面的SQL命令帮助我们显示表的前5行。
OFFSET
如果你只想选择第四行和第五行,你会怎么做?我们将使用OFFSET。OFFSET将跳过指定的行数。让我们看看它是如何工作的:
SQL技术6–数据排序
对数据进行分类有助于我们对数据进行观察。我们可以使用关键字ORDER by来执行排序过程。
ORDER BY
关键字可用于按升序或降序对数据进行排序。默认情况下,ORDER BY关键字按升序对数据排序。
让我们看一个示例,其中我们根据Total_amt_spend列按升序对数据进行排序:
要将数据集按降序排序,可以按照以下命令进行操作:
SQL技术7–过滤模式
在前面的部分中,我们学习了如何根据一个或多个条件过滤数据。在这里,我们将学习匹配指定的模式列。为此,我们将首先了解LIKE运算符和通配符。
LIKE
LIKE在WHERE子句中用于搜索列中的指定模式。
通配符
通配符用于替换字符串中的一个或多个字符。它们与LIKE运算符一起使用。最常见的两个通配符是:
%,表示0个或更多个字符
_,它代表一个字符
在我们的虚拟零售数据集中,假设我们想要所有以“Nagar”结尾的地区。花点时间来理解问题陈述,并思考如何解决这个问题。
让我们试着把这个问题分解一下。我们需要以“Nagar”结尾的所有位置,并且在这个特定字符串之前可以有任意数量的字符。因此,我们可以在“Nagar”之前使用“%”通配符:
太棒了,我们有6个地方以这个名字结尾。注意,我们使用LIKE操作符来执行模式匹配。
接下来,我们将尝试解决另一个基于模式的问题。我们需要第二个字符在他们各自的名字中有“a”的消费者的名字。
再一次,我建议你花点时间来理解这个问题,并想出一个解决它的逻辑。
让我们把问题分解一下。这里,第二个字符需要是“a”。第一个字符可以是任何字符,所以我们用通配符_。
在第二个字符之后,可以有任意数量的字符,因此我们将这些字符替换为通配符“%”。最终的模式匹配如下所示:
我们有6个人满足了这个条件。
SQL技术8–分组、汇总数据和分组筛选
我们终于到了SQL中最强大的分析工具之一,使用GROUP BY语句对数据进行分组。
这个语句最有用的应用是寻找分类变量的分布。这是通过使用GROUPBY语句和聚合函数(如–COUNT、SUM、AVG等)来完成的。
让我们用一个问题陈述来更好地理解这一点。零售商店希望找到与其所属行业对应的客户数量:
我们注意到,属于不同行业的客户数量或多或少是相同的。因此,让我们改成根据客户所属行业分组,计算出他们的支出总额:
我们可以观察到,消费金额最大的是属于制造业的客户。这看起来有点容易,对吧?让我们继续更改要求,让它变得更复杂。
现在,零售商希望找到总销售额大于2500的行业。为了解决这个问题,我们将再次根据行业数据进行分组,然后使用HAVING子句。
HAVING
HAVING子句与WHERE子句类似,但仅用于过滤分组的数据。记住,它总是在group by语句之后。
我们只有3个类别满足条件-航空,国防和制造业。但为了更清楚,我还将添加ORDER BY关键字,使其更直观:
“用于数据分析的SQL技术有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!
本文标题:用于数据分析的SQL技术有哪些
网页网址:http://scjbc.cn/article/pessih.html