WEB开发网
开发学院数据库MSSQL Server SQL进行排序、分组、统计的10个新技巧 阅读

SQL进行排序、分组、统计的10个新技巧

 2007-11-11 12:57:09 来源:WEB开发网   
核心提示:以一种有意义的方式组织数据可能是一项挑战,有时你需要的可能是一个简单的排序,SQL进行排序、分组、统计的10个新技巧,但是通常你需要做更多,你需要分组来进行分析和统计,3.在分组之前进行数据筛选你可以添加一个WHERE语句来筛选有GROUP BY所得分组中的数据,例如,幸运的是,SQL提供了大量语句和操作来进行排序

以一种有意义的方式组织数据可能是一项挑战。有时你需要的可能是一个简单的排序,但是通常你需要做更多,你需要分组来进行分析和统计。幸运的是,SQL提供了大量语句和操作来进行排序,分组和摘要。下面的一些技巧将会帮助你识别什么时候排序,什么时候分组,什么时候以及如何统计。对要每条语句和操作的详细信息请查看Books Online。

1.使用排序使数据有序

通常,你的所有数据真正需要的仅仅是按某种顺序排列。SQL的ORDER BY语句可以以字母或数字顺序组织数据。因此,相似的值按组排序在一起。然而,这个分组时排序的结果,并不是真的分组。ORDER BY显示每条记录而分组可能代表很多记录。

2.进行分组除去重复值

排序和分组之间的最大区别是:排序的数据显示所有记录(在限定标准范围之内),而分组数据不是显示所有记录。GROUP BY语句对于同样的值只显示一条记录。例如,下面的语句中的GROUP BY语句对数据源中重复出现的数据只返回唯一的zip编码列。

SELECT ZIP FROM Customers GROUP BY ZIP

只包括由GROUP BY和SELECT语句共同定义的那些记录,换句话说,SELECT列表必须满足GROUP BY列表,但是有一个例外就是SELECT列表可以包含聚合函数(GROUP BY语句不允许使用聚合函数)。需要注意的是GROUP BY语句不会对结果分组进行排序。为了使分组按字母或数字有序排列,需要添加ORDER BY语句。此外,在GROUP BY语句中不能引用使用了别名的字段。分组栏目必须是潜在的数据,但它们并不需要显示在结果中。

3.在分组之前进行数据筛选

你可以添加一个WHERE语句来筛选有GROUP BY所得分组中的数据。例如,下面的语句只返回肯塔基州顾客的唯一ZIP编码列。

SELECT ZIP FROM CustomersWHEREState = 'KY' GROUP BY ZIP

1 2 3  下一页

Tags:SQL 进行 排序

编辑录入:coldstar [复制链接] [打 印]
赞助商链接