当前位置: 首页 > news >正文

东莞网站建设规范美食网页设计免费模板

东莞网站建设规范,美食网页设计免费模板,众创空间文化建设网站,子午谷网站建设窗口函数语法结构#xff1a; 分析函数() over(partition by 分组列名 order by 排序列名 rows between 开始位置 and 结束位置) 开窗函数和聚合函数区别#xff1a; 聚合函数会对一组值进行计算并返回一个值#xff0c;常见的比如sum()#xff0c;count()#xff0c;ma…窗口函数语法结构 分析函数() over(partition by 分组列名 order by 排序列名 rows between 开始位置 and 结束位置) 开窗函数和聚合函数区别 聚合函数会对一组值进行计算并返回一个值常见的比如sum()count()max()min() avg()会与group by一起使用。 注意其中只有count不忽略null值COUNT(a)返回非空值的数量。COUNT(*)返回所有行的数量不区分空值。 count01 ROW_NUMBER() 有些场景比如求各个班或各个学科的前几名这时候需要每一组返回多个值就需要开窗函数解决。 比如现在有一部分学生成绩来自不同的班级 求所有人中的前几名学生 首先想到SELECT * FROM temp ORDER BY sroce DESC 这是对分数倒序排序如果想只要前几名名需要生成一个序号所以使用ROW_NUMBER()。不分组 SELECT name,class,score, ROW_NUMBER() OVER(ORDER BY score DESC) mm FROM temp如果对于班级分组加上PARTITION BY class SELECT name,class,score FROM ( SELECT name,class,score, RANK() OVER(PARTITION BY class ORDER BY score) mm FROM temp ) a WHERE mm 1;–这里引用博客[窗口函数over](https://blog.csdn.net/qq_55342245/article/details/122300899)的例子 RANK() DENSE_RANK() 进一步如果只要第一名或者最后一名就不能用row_number()因为如果同班有两个并列第一mm1就只返回一个结果。使用RANK() 查询每个班的第一名的成绩 SELECT name,class,score FROM (SELECT name,class,score, RANK() OVER(PARTITION BY class ORDER BY score DESC) mm FROM TEMP ) a WHERE mm 1;RANK()在处理相同值时序号一样但是会占位排名可能是12225 DENSE_RANK()在处理相同值时序号一样但是不会占位数字连续出现12223 NTILE() NTILE函数是用来将数据切割成指定数量的桶buckets并将每个数据行分配到对应的桶中。它可用于将数据划分为相等的小切片为每一行分配该小切片的数字序号。 NTILE不支持ROWS BETWEEN比如NTILE(2) OVER(PARTITION BY dept_no ORDER BY salary ROWS BETWEEN 3 PRECEDING - AND CURRENT ROW)。 搬运一些例子便于理解 SELECT name, dept_no, salary,ntile(2) over(order by salary) n1,-- 全局按照salary升序排列数据切成2份ntile(2) over(partition by dept_no order by salary) n2, -- 按照dept_no分组在分组内按照salary升序排列,数据切成2份ntile(3) over(partition by dept_no order by salary) n3 -- 按照dept_no分组在分组内按照salary升序排列,数据切成3份 FROM data;对于第三个例子 NTILE(3) OVER(PARTITION BY dept_no ORDER BY salary)是根据dept_no列进行分组意味着每个部门的数据会独立进行切割成3份。数据在每个分组内根据salary排序然后再将排序后的数据切割成3份并且每份数据的大小相对均匀。 ———————————————— 参考自窗口函数之ntile()函数讲解https://blog.csdn.net/godlovedaniel/article/details/116571187 总结区别 select ROW_NUMBER()over(order by name) as 排序,* from temp — 排序即使值一样也不会重复排序。例如1,2,3,4,5 select RANK()over(order by name) as 排序,* from temp — 排序值一样就重复排序有间隙。例如1,1,3,4 select DENSE_RANK()over(order by name) as 排序,* from temp — 排序值一样就重复排序没有间隙。例如1,1,2,2,3,4,5 select NTILE(2)over(order by name) as 排序,* from temp — 排序分成2组。此函数一般用于取表中前百分之几的数据。例如取数据的前25%就将数据分4组然后字段的条件是等于1。 –这里引用博客[窗口函数over](https://blog.csdn.net/qq_55342245/article/details/122300899)的例子
http://www.yutouwan.com/news/180490/

相关文章:

  • 做网站开发需要培训吗网站建设中目录
  • 本地东莞网站建设wordpress翻译了 mo无效
  • 做塑料的网站名字浙江城建建设集团网站
  • wordpress 站内资讯免费文件外链网站
  • 做网站有哪些住房与城乡建设部网站注册中心
  • 广东网站备案 时间做网站上传图片多大合适
  • js实现网站简体转繁体网站设计与建设课后题答案
  • 企业如何做好网站运营管理海外房产网站建设
  • 百度网站建设基本情况怎么提高网站的权重
  • 戴尔网站建设成功wordpress 机制
  • 中国有多少家做外贸网站设计的公司wordpress首页404伪静态
  • 要建设一个网站需要什么时候开始网站架构设计招聘
  • 企业网站导航菜单免费的大数据分析平台
  • wordpress前台文章增加编辑器关键词优化是怎么做的
  • 网站运营管理方案网站开发敲代码
  • 沈阳网站排名公司网站建站套餐
  • 网站视听内容建设西大路网站建设公司
  • 商城网站布局今天汽油价格
  • 泉州网站设计招聘网做收集信息的网站
  • 网站建设与管理期末试卷重庆市工程造价信息价查询
  • 厦门建设管理局网站西安网络建站
  • 任务发布网站建设教学网站前台模板
  • 建一个网站大约需要花费多少钱vps网站管理助手下载
  • html网站模板免费下载企业移动网站制作
  • 网站开发工程师代码如何提高网站响应速度
  • 企业标准网站模板莱芜
  • 网站规范化建设微信分享网站短链接怎么做的
  • 淘宝店铺网站建设周期购那个网站做的比较好
  • 关于网站设计的价格施工企业总工程师述职报告
  • tk网站的dns修改网站开发教程H5