SQL共享10种排序、分组和统计的新技术

SQL共享10种排序、分组和统计的新技术
1。使用排序使数据有序
在一般情况下,您的所有数据,真正需要的是有一定的顺序,语句SQL命令可以在字母或数字顺序组织数据。因此,类似的值进行排序在一起。然而,这种分组的结果是不是真的grouped.order显示每个记录和分组可能代表了很多记录。
2。移除重复值的数据包删除

排序和分组之间最大的区别是,排序的数据显示所有记录(在标准的范围),而分组数据不显示所有记录。通过语句组仅表现为相同值的记录。例如,在下面的语句声明的组只返回数据重现的数据源唯一的邮政编码列。
复制代码代码如下所示:
通过ZIP选择客户组中的ZIP

它只包括那些由组定义并选择语句的记录。换句话说,选择列表中的列必须满足集团,但有一个例外是,选择列表可以包含聚合函数(组语句不允许使用聚合函数)。需要注意的是,通过陈述集团不结果分组排序的重要。为了安排分组按字母或数字秩序,你需要添加的声明顺序。此外,现场使用的别名是不是参照组中的语句。组的列必须是潜在的数据,但是他们不需要显示的结果。
三.分组前的数据筛选

您可以添加一个WHERE语句来过滤组中的数据。例如,下面的语句只返回肯塔基状态客户机的唯一ZIP编码列。
复制代码代码如下所示:
选择邮政客户国家= 'ky'group拉链

必须注意的是,在语句组之前对WHERE语句进行过滤,如按组语句,WHERE语句不支持聚合函数。
4。返回所有组

当你使用WHERE语句来过滤数据,你只能显示你指定的结果包的记录,这是与组的定义一致,但数据不符合过滤条件,将不被包括在一个组。当你想把所有的数据组中的所有数据,添加关键字,然后在条件不工作。例如,添加的关键词都在前面的例子中返回所有zip包,不仅是在肯塔基。
复制代码代码如下所示:
选择邮政客户国家= 'ky'group所有拉链

这样一来,这两个语句之间就存在冲突,而您也不可能这样使用关键字。当使用聚合函数计算一个列时,使用所有关键字可能很方便。例如,下面的语句计算每个肯塔基状态ZIP中的客户数,并且还显示其他ZIP值。
复制代码代码如下所示:
选择ZIP,计数(ZIP)从客户那里的国家= 'ky'group kycustomersbyzip

结果组包括潜在的数据,所有的压缩值但为料柱(kycustomersbyzip)是肯塔基州的ZIP包(kycustomersbyzip)将显示0。远程查询不被所有支持组。
5。数据包筛选数据
在之前的声明语句组计算。当你需要过滤后的数据组,您可以使用具有声明。通常,在声明的,有语句的返回结果都是一样的,但值得注意的是,两种说法是不可互换的。当你迷茫的时候,你可以按照以下步骤:使用WHERE语句来筛选记录,并使用具有语句滤波器组。

一般来说,您可以使用有语句和聚合函数来计算一个组。例如,下面的语句返回一个唯一的ZIP编码列,但它可能不包含潜在数据源中的所有ZIP。
复制代码代码如下所示:
选择ZIP,计数(ZIP)作为来自客户群的客户,邮编为= 1

只有那些包含一个客户的组显示在结果中。
6。进一步了解何处和有发言权
如果您应该使用您应该使用它的地方,当您仍然困惑何时使用它时,请按照以下说明进行操作
WHERE语句在组按语句之前;SQL将计算组分组之前的WHERE语句。
在语句组中有语句之后,SQL将在组之后计算有语句。
7。使用聚集函数的统计分组数据

分组数据可以帮助我们分析数据,但有时我们可能需要比组更多的信息。您可以使用聚合函数来计算分组数据。
复制代码代码如下所示:
选择订单号,金额(成本×数量)为ordertotal从命令行组

对于其他组,SELECT和组按列必须匹配。
8。统计汇总数据

你可以继续统计显示每一组分类统计。SQL ROLLUP运算符可以显示每个组的一个额外的分类统计,分类统计是使用聚合函数来计算在每一组中的所有记录得到的结果。以下语句计算每个组ordertotal:
复制代码代码如下所示:
选择客户,数量,金额(成本×数量)为ordertotal从订单组

在20和25 odertotal两值组,汇总显示ordertotal值45。在汇总结果的第一个记录是独一无二的,因为它是所有的数据包记录计算,这个值是记录集的总价值。
汇总不支持聚合函数不同,也不是所有声明支持组。
9。统计每列

CUBE运算符比ROLLUP更进一步,它返回的每个组中的重复值的数量,其结果汇总相同,但每一列包含一个额外的立方体为每个客户记录。以下语句显示每个组的统计和其他客户的统计。
复制代码代码如下所示:
选择客户,数量,金额(成本×数量)为ordertotal从订单组

立方体可以提供最全面的统计数据。它不仅进行聚集和汇总的功能,但它也可以计算其他列定义的群体,换句话说,立方体统计每个可能的柱组合。
多维数据集不支持按所有语句分组。
10:统计结果排序

当多维数据集的结果令人迷惑(通常是这样)时,可以添加分组函数,如下所示:
复制代码代码如下所示:
选择分组(客户),数量,金额(成本×数量)为ordertotal从订单组

结果中每行有两个附加值:
值1表示左边的值是一个统计值,卷起或立方体的算子。

值0表示左边的值是由原始组按语句生成的详细记录。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部