All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
ASP.NET中基类页的设计和使用_.net资料_编程技术
利用XMLHTTP无刷新添加数据之Post篇_[XML教程]
浅谈几个SQL的日志概念_[SQL,Server教程]
开发保留标准的浏览器功能的AJAX应用_[AJAX教程]
创建基于AJAX技术的Scribble应用程序_[Asp.Net教程]
.net组件开发系列(五)之深入理解控件的呈现原理_[Asp.Net教程]
温故知新ASP.NET,2.0(C#)(2),-,Themes(主题)_[Asp.Net教程]
asp.net身份验证和授权_.net资料_编程技术
在PHP中开发XML应用程序之基础篇_php资料_编程技术
ASP.NET,MVC框架(第一部分)_[Asp.Net教程]
Reading number is top 10 pictures
Sora aoi on twitter4
NeedWallpaper3
鸡蛋的新玩法
So beauty, will let you spray blood8
China's programmers are live what kind, had a look at will know that
Summer is most suitable for young people to travel in China4
你白吃了多少药
Go to the national museum3
The real super beauty8
粉红蕾丝的美女
Download software ranking
Unix video tutorial15
Tram sex maniac 2 (H) rar bag13
1400篇各类破解文章
豪门浪荡史
matrix2
网页特效实例大全
Rio big adventure
C++教程第四版
linux高级编程
Proficient in JavaScript
归海一刀 published in(发表于) 2014/2/3 6:40:32 Edit(编辑)
SQL的排序,分组,统计常用语句_[SQL Server教程]

SQL的排序,分组,统计常用语句_[SQL Server教程]

SQL的排序,分组,统计常用语句_[SQL Server教程]
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
必须注意的是WHERE语句是在GROUP BY语句求值之前进行数据过滤的。与GROUP BY语句一样,WHERE语句也不支持聚合函数。
4.返回所有分组
当你使用WHERE语句过滤数据时,结果分组中只显示你指定的那些记录,而符合分组定义但是不满足过滤条件的数据不会包含在某个分组中。当你想在分组中包含所有数据时添加关键字ALL即可,这时WHERE条件就不起作用。例如,在前面的例子中添加关键字ALL就会返回所有的ZIP分组,而不是仅在肯塔基州的那些。
SELECT ZIP FROM CustomersWHEREState = ’KY’ GROUP BY ALL ZIP
这样看来,这两个语句存在冲突,你可能不会以这种方式使用关键字ALL。当你使用聚合函数计算某一列时,使用ALL关键字可能会很方便。例如,下面的语句计算每个肯塔基州ZIP中的顾客数,同时,还会显示其它的ZIP值。
SELECT ZIP, Count(ZIP) AS KYCustomersByZIP FROM
CustomersWHEREState = ’KY’ GROUP BY ALL ZIP
结果分组包括潜在数据中的所有ZIP值,然而,对于那些不是肯塔基州ZIP分组的聚合列(KYCustomersByZIP)将会显示0。远程查询不支持GROUP BY ALL。
5.分组后筛选数据
WHERE语句在GROUP BY语句之前进行计算。当你需要在分组之后筛选数据时,可以使用HAVING语句。通常情况下,WHERE语句和HAVING语句的返回结果是一样的,但是值得注意的是这两个语句不可互换。当你迷惑时,可以遵循下面的说明:使用WHERE语句过滤记录,使用HAVING语句过滤分组。
一般情况,你会使用HAVING语句和某个聚合函数计算一个分组。例如,下面的语句返回一个唯一的ZIP编码列,但是可能不会包含潜在数据源中所有的ZIP。
SELECT ZIP, Count(ZIP) AS CustomersByZIP FROM
Customers GROUP BY ZIP HAVING Count(ZIP) = 1
只有那些包含一位顾客的分组显示在结果中。


添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.