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

网站建设商城 买模板网站开发时数据库的工作

网站建设商城 买模板,网站开发时数据库的工作,英文字体设计网站,如何做网站系统1、UDTF之explode函数 explode(array)将array列表里的每个元素生成一行#xff1b; explode(map)将map里的每一对元素作为一行#xff0c;其中key为一列#xff0c;value为一列#xff1b; 一般情况下#xff0c;explode函数可以直接使用即可#xff0c;也可以根据需要结…1、UDTF之explode函数 explode(array)将array列表里的每个元素生成一行 explode(map)将map里的每一对元素作为一行其中key为一列value为一列 一般情况下explode函数可以直接使用即可也可以根据需要结合lateral view侧视图使用。 explode函数单数使用 select explode(array(11,22,33)) as item; select explode(map(“id”,10086,“name”,“zhangsan”,“age”,18)); Lateral View是一种特殊的语法主要用于搭配UDTF类型功能的函数一起使用用于解决UDTF函数的一些查询限制的问题。 侧视图的原理是将UDTF的结果构建成一个类似于视图的表然后将原表中的每一行和UDTF函数输出的每一行进行连接生成一张新的虚拟表。这样就避免了UDTF的使用限制问题。使用lateral view时也可以对UDTF产生的记录设置字段名称产生的字段可以用于group by、order by 、limit等语句中不需要再单独嵌套一层子查询。 一般只要使用UDTF就会固定搭配lateral view使用。 理解explode炸裂之后的一张表lateral view 就相当于把原表A 和炸裂后的表B构建笛卡尔集再从笛卡尔集的表中select需要的字段数据 2、Aggregation 聚合函数 HQL提供了几种内置的UDAF聚合函数例如max…min…和avg…。sum() count(*) count(列名)。这些我们把它称之为基础的聚合函数。 通常情况下聚合函数会与GROUP BY子句一起使用。having是对聚合函数进行取值上的过滤 grouping sets是一种将多个group by逻辑写在一个sql语句中的便利写法。 等价于将不同维度的GROUP BY结果集进行UNION ALL。 GROUPING__ID表示结果属于哪一个分组集合。 Cube cube的语法功能指的是根据GROUP BY的维度的所有组合进行聚合。 对于cube,如果有n个维度,则所有组合的总个数是2^n。 比如Cube有a,b,c3个维度则所有组合情况是 ((a,b,c),(a,b),(b,c),(a,c),(a),(b),©,())。 ------cube--------------- SELECTmonth,day,COUNT(DISTINCT cookieid) AS nums,GROUPING__ID FROM cookie_info GROUP BY month,day WITH CUBE ORDER BY GROUPING__ID;--等价于 SELECT NULL,NULL,COUNT(DISTINCT cookieid) AS nums,0 AS GROUPING__ID FROM cookie_info UNION ALL SELECT month,NULL,COUNT(DISTINCT cookieid) AS nums,1 AS GROUPING__ID FROM cookie_info GROUP BY month UNION ALL SELECT NULL,day,COUNT(DISTINCT cookieid) AS nums,2 AS GROUPING__ID FROM cookie_info GROUP BY day UNION ALL SELECT month,day,COUNT(DISTINCT cookieid) AS nums,3 AS GROUPING__ID FROM cookie_info GROUP BY month,day;3、Window functions 窗口函数 **窗口函数Window functions**是一种SQL函数非常适合于数据分析因此也叫做OLAP函数其最大特点是输入值是从SELECT语句的结果集中的一行或多行的“窗口”中获取的。 通过OVER子句窗口函数与其他SQL函数有所区别。如果函数具有OVER子句则它是窗口函数。如果它缺少OVER子句则它是一个普通的聚合函数 窗口函数可以简单地解释为类似于聚合函数的计算函数但是通过GROUP BY子句组合的常规聚合会隐藏正在聚合的各个行最终输出一行窗口函数聚合后还可以访问当中的各个行并且可以将这些行中的某些属性添加到结果集中。 语法树 --2、sum窗口函数 总共有四种用法 注意是整体聚合 还是累积聚合 --sum(...) over( )对表所有行求和 --sum(...) over( order by ... ) 连续累积求和 --sum(...) over( partition by... ) 同组内所有行求和 --sum(...) over( partition by... order by ... ) 在每个分组内连续累积求和4、窗口表达式 在sum(…) over( partition by… order by … )语法完整的情况下进行的累积聚合操作默认累积聚合行为是从第一行聚合到当前行。 Window expression窗口表达式给我们提供了一种控制行范围的能力比如向前2行向后3行。 关键字是rows between包括下面这几个选项 - preceding往前 - following往后 - current row当前行 - unbounded边界 - unbounded preceding 表示从前面的起点 - unbounded following表示到后面的终点---窗口表达式 --第一行到当前行 select cookieid,createtime,pv,sum(pv) over(partition by cookieid order by createtime rows between unbounded preceding and current row) as pv2 from website_pv_info;--向前3行至当前行 select cookieid,createtime,pv,sum(pv) over(partition by cookieid order by createtime rows between 3 preceding and current row) as pv4 from website_pv_info;--向前3行 向后1行 select cookieid,createtime,pv,sum(pv) over(partition by cookieid order by createtime rows between 3 preceding and 1 following) as pv5 from website_pv_info;--当前行至最后一行 select cookieid,createtime,pv,sum(pv) over(partition by cookieid order by createtime rows between current row and unbounded following) as pv6 from website_pv_info;--第一行到最后一行 也就是分组内的所有行 select cookieid,createtime,pv,sum(pv) over(partition by cookieid order by createtime rows between unbounded preceding and unbounded following) as pv6 from website_pv_info;5、窗口排序函数 窗口排序函数用于给每个分组内的数据打上排序的标号。注意窗口排序函数不支持窗口表达式。 row_number在每个分组中为每行分配一个从1开始的唯一序列号递增不考虑重复 rank: 在每个分组中为每行分配一个从1开始的序列号考虑重复挤占后续位置 dense_rank: 在每个分组中为每行分配一个从1开始的序列号考虑重复不挤占后续位置 上述这三个函数用于分组TopN的场景非常适合。 -----窗口排序函数 SELECTcookieid,createtime,pv,RANK() OVER(PARTITION BY cookieid ORDER BY pv desc) AS rn1,DENSE_RANK() OVER(PARTITION BY cookieid ORDER BY pv desc) AS rn2,ROW_NUMBER() OVER(PARTITION BY cookieid ORDER BY pv DESC) AS rn3 FROM website_pv_info WHERE cookieid cookie1;在统计分组topN中经常用到这几个开窗排序函数 --需求找出每个用户访问pv最多的Top3 重复并列的不考虑 SELECT * from (SELECTcookieid,createtime,pv,ROW_NUMBER() OVER(PARTITION BY cookieid ORDER BY pv DESC) AS seq FROM website_pv_info) tmp where tmp.seq 4;
http://www.dnsts.com.cn/news/264201.html

相关文章:

  • 织梦的手机端网站模板荆门市城乡建设管理局网站
  • 如何开始做网站专门做2次元图片的网站
  • 网站建设属于服务还是货物辽宁建设工程造价信息网官网
  • 网站设计和策划的步骤是什么后台的企业网站模板
  • 为什么一个人做网站有难度广东广州网站建设
  • WordPress金融网站wordpress怎么写描述
  • 网站做搜索要用数据库吗wordpress最炫主题
  • 深圳的深圳的网站建设公司九游下载安装载
  • 网站制作 万网wordpress 身份认证api
  • 郑州专业网站制作wifi小程序源码
  • 通付盾 网站建设公司网页设计实验步骤
  • 做网站要什么知识外贸公司大全
  • 西安响应式网站建设哪家强好看的模板网站建设
  • 如何用discuz做网站wordpress 商城聊天
  • 旅游网站后台管理系统更换wordpress后台登陆地址
  • 公司网站备案网址seo搜索优化公司报价
  • 培训学校网站怎么用手机做网站
  • 网站群建设的优点品牌建设实施细则
  • 网站建设在哪里学广州电玩网站开发
  • 做平台交易网站怎么收款小皮怎么创建网站
  • 安徽省建设造价管理协会网站如何设计企业官网
  • githup网站建设网站建设要费用多少
  • 如何看出一个网站优化的是否好权威发布型舆情回应以什么为主
  • 有什么做动画的网站个人主页网页模板html
  • 作风建设主题活动 网站南通模板建站定制
  • 番禺市桥网站建设招远住房和规划建设管理局网站
  • 莱特币做空国外网站签署网站建设协议新闻
  • 建设厅科技中心网站首页大学生做兼职的网站有哪些
  • 中企建设网站c 网站开发的好处
  • 商旅网站建设asp.net网站访问统计