位置: 编程技术 - 正文

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

编辑:rootadmin
1.使用排序使数据有序通常,你的所有数据真正需要的仅仅是按某种顺序排列。SQL的ORDER BY语句可以以字母或数字顺序组织数据。因此,相似的值按组排序在一起。然而,这个分组时排序的结果,并不是真的分组。ORDER BY显示每条记录而分组可能代表很多记录。2.进行分组除去重复值排序和分组之间的最大区别是:排序的数据显示所有记录(在限定标准范围之内),而分组数据不是显示所有记录。GROUP BY语句对于同样的值只显示一条记录。例如,下面的语句中的GROUP BY语句对数据源中重复出现的数据只返回唯一的zip编码列。只包括由GROUP BY和SELECT语句共同定义的那些记录,换句话说,SELECT列表必须满足GROUP BY列表,但是有一个例外就是SELECT列表可以包含聚合函数(GROUP BY语句不允许使用聚合函数)。需要注意的是GROUP BY语句不会对结果分组进行排序。为了使分组按字母或数字有序排列,需要添加ORDER BY语句。此外,在GROUP BY语句中不能引用使用了别名的字段。分组栏目必须是潜在的数据,但它们并不需要显示在结果中。3.在分组之前进行数据筛选 你可以添加一个WHERE语句来筛选有GROUP BY所得分组中的数据。例如,下面的语句只返回肯塔基州顾客的唯一ZIP编码列。必须注意的是WHERE语句是在GROUP BY语句求值之前进行数据过滤的。与GROUP BY语句一样,WHERE语句也不支持聚合函数。4.返回所有分组 当你使用WHERE语句过滤数据时,结果分组中只显示你指定的那些记录,而符合分组定义但是不满足过滤条件的数据不会包含在某个分组中。当你想在分 组中包含所有数据时添加关键字ALL即可,这时WHERE条件就不起作用。例如,在前面的例子中添加关键字ALL就会返回所有的ZIP分组,而不是仅在肯 塔基州的那些。 这样看来,这两个语句存在冲突,你可能不会以这种方式使用关键字ALL。当你使用聚合函数计算某一列时,使用ALL关键字可能会很方便。例如,下面的语句计算每个肯塔基州ZIP中的顾客数,同时,还会显示其它的ZIP值。结果分组包括潜在数据中的所有ZIP值,然而,对于那些不是肯塔基州ZIP分组的聚合列(KYCustomersByZIP)将会显示0。远程查询不支持GROUP BY ALL。5.分组后筛选数据WHERE语句在GROUP BY语句之前进行计算。当你需要在分组之后筛选数据时,可以使用HAVING语句。通常情况下,WHERE语句和HAVING语句的返回结果是一样的,但 是值得注意的是这两个语句不可互换。当你迷惑时,可以遵循下面的说明:使用WHERE语句过滤记录,使用HAVING语句过滤分组。一般情况,你会使用HAVING语句和某个聚合函数计算一个分组。例如,下面的语句返回一个唯一的ZIP编码列,但是可能不会包含潜在数据源中所有的ZIP。只有那些包含一位顾客的分组显示在结果中。6.进一步了解WHERE和HAVING语句如果你对何时应该使用WHERE,何时使用HAVING仍旧很迷惑,请遵照下面的说明:WHERE语句在GROUP BY语句之前;SQL会在分组之前计算WHERE语句。HAVING语句在GROUP BY语句之后;SQL会在分组之后计算HAVING语句。7.使用聚合函数统计分组数据 分组数据可以帮助我们分析数据,但是有时我们可能需要更多的信息而不仅仅是分组。你可以使用聚合函数来统计分组数据。例如,下面的语句显示每批订购单的总价钱。对于其它的分组来说,SELECT和GROUP BY列必须匹配。而SELECT语句包含聚合函数时这一规则是一个例外.8.统计聚合数据 你可以继续统计数据为每个分组显示一个分类统计。SQL的ROLLUP操作符可以为每个分组显示一个额外的分类统计。这个分类统计是使用聚合函数计算每个分组中的所有记录得到的结果。下面的语句为每个分组计算OrderTotal: 对于有两个分别为和 OderTotal值的分组,ROLLUP显示一个OrderTotal值。ROLLUP结果中的第一条记录是唯一的,因为它是计算所有分组记录,这个值是整个记录集的总值。ROLLUP在聚合函数中不支持 DISTINCT,也不支持GROUP BY ALL语句。9.统计每个列 CUBE操作符比ROLLUP更进一步,它返回每个分组中重复值的个数。它的结果和ROLLUP相同,但是对每位客户的每一列CUBE包含一个额外的记录。下面的语句显示每个分组的统计和额外每位客户的统计。CUBE可以给最综合的统计。它不仅完成聚合和ROLLUP的功能,还可以计算定义分组的其它列,换句话说,CUBE统计每个可能的列组合。CUBE不支持GROUP BY ALL语句。:对统计结果排序 当CUBE的结果令人迷惑时(它经常是这样),可以添加一个GROUPING函数,如下所示:结果中每行包含两个额外的值:值1表示左边的值是一个统计值,是ROLLUP或CUBE的操作符。值0表示左边的值是一条由最初的GROUP BY语句产生的详细记录。

推荐整理分享SQL进行排序、分组、统计的10个新技巧分享(sql排序分组),希望有所帮助,仅作参考,欢迎阅读内容。

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

文章相关热门搜索词:sql排序后分组,sql排序和分组,sql排序分组语句,sql排序的几种方式,sql排序分组,sql分类排序,sql分类排序,sql排序分组语句,内容如对您有帮助,希望把文章链接给更多的朋友!

sql中设置联合主键的具体方法 ALTERTABLE表名字ADDCONSTRAINTpk_表名字PRIMARYKEY(SNumber,SDate);SNumberSDate必须不能为空字段

在SQL Server中使用命令调用SSIS包的具体方法 具体操作步骤如下:1.首先,当然是要在BusinessIntelligence中设计好包,并调试通过。2.然后,有两种方式可以在SQLServer中使用命令运行SSIS包第一种是直接

SQL Server 比较日期大小的方法 在机房收费系统中,有几处这样的情况:起始日期和终止日期,相信聪明的你肯定可以想象出为什么要有两个日期控件!是的,就是从一张表中查找出

标签: sql排序分组

本文链接地址:https://www.jiuchutong.com/biancheng/347100.html 转载请保留说明!

上一篇:sql server的一个有趣的bit位运算分享(sql server2005一个表中可以设置)

下一篇:sql中设置联合主键的具体方法(sql联合主键设置外键)

  • 个税的计算过程
  • 高新技术企业亏损弥补
  • 发票勾选后什么时候可以抵扣税
  • 小规模小于30万免税会计分录
  • 免抵税额什么时候缴纳城建税
  • 调研费包括哪些科目
  • 待抵扣进项税额分录
  • 代开专票可以开13个点吗
  • 经营罚没物品增值税计算
  • 研发支出的材料费
  • 股权计税成本如何计算?
  • 递延所得税负债是什么意思
  • 公司之间借钱不还违法吗
  • 销项负数发票用勾选吗
  • 待处置资产损溢在什么科目
  • 年会费用的会计分录
  • 实收资本印花税申报期限
  • 个体工商户在税法规定的享有免税优惠的期限内
  • 一般纳税人高速公路通行费税率
  • 销售原材料结转会计分录
  • 收取客户税点怎么记账
  • 其他货币资金包括存出保证金吗
  • 工会经费返还账务处理,另记账么
  • 赠送算商业用途吗
  • 增值税进项税额转出的情况有哪些
  • 民办非企业年底额度不能低于多少
  • 货物质量赔偿需要改变收入吗合法吗
  • 转出未交增值税借方余额表示什么
  • 建筑企业被靠挂靠怎么办
  • linux命令行使用鼠标
  • sbdrvdet.exe - sbdrvdet是什么进程 有什么用
  • 委托出口的会计分录
  • 用人单位如何缴纳医疗保险
  • 应付账款账户的期初贷方余额100元
  • 微信小程序和web端的交互
  • PHP 中TP5 Request 请求对象的实例详解
  • 报销差旅费凭证怎么做
  • New Bing怼人、说谎、PUA,ChatGPT已经开始胡言乱语了
  • php判断时间区间
  • discuz关闭电脑版
  • 旧固定资产出售增值税率如何计算
  • 无形资产摊销怎么计算月摊销额
  • 哪些费用可以在以后年度扣除
  • 五险一金的会计怎么做账
  • 预收账款未发货会计分录
  • 26个字母!
  • 非盈利机构怎么说
  • 股东向公司借款超过一年不还
  • asp 数据库
  • 投资收益会计科目账务处理
  • 付承包费计入什么科目
  • 货物什么情况下需要分批运输
  • 房地产竣工验收后结转收入和成本
  • 非公司股东可以分红吗
  • 因产品不合格退货流程
  • 六大类科目的借贷口诀余额怎么填
  • 营改增对企业税负影响
  • 股权激励有几种形式
  • 装修工程人工费占总价比例
  • 收入支出结余怎么记账
  • 长期待摊费用可以摊销20年吗
  • 销项负数发票怎么冲减成本
  • win7防火墙如何添加允许
  • opengl裁剪平面
  • div+css与xhtml+css分别是什么意思?
  • unity创建射线
  • javascript的基本数据
  • python复制文件内容
  • centos创建shell脚本
  • 基于javascript的毕业设计
  • javascript的
  • Android 添加数据到本地Excel表
  • 玩端游的平台
  • python设计gui
  • js合并字符串
  • 税务征收津贴发放范围
  • 花卉种植税收优惠政策案例
  • 2021年四川医保缴费截止时间
  • 文件清理规则
  • 小规模税控盘全额抵扣怎么做分录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设