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

彩票网站怎么做的什么软件可以推广自己的产品

彩票网站怎么做的,什么软件可以推广自己的产品,wordpress邮件wp smtp,国外网站设计理念1. 聚合函数和开窗函数的区别 普通聚合函数(如 SUM(), AVG())是纵向聚合:一组数据聚合成一行然后拿到结果; 开窗函数是SQL中的一种横向分析函数,它不改变行数,而是为每一行计算一个基于该行所在分区中其他…

1. 聚合函数和开窗函数的区别

普通聚合函数(如 SUM(), AVG())是纵向聚合:一组数据聚合成一行然后拿到结果;

开窗函数是SQL中的一种横向分析函数,它不改变行数,而是为每一行计算一个基于该行所在分区中其他行的数据结果

例如:“统计每位员工的工资在其所在部门中的排名”。关键词就是“每”,要求每一行数据都要展示,而且是基于其所在部门的排名。

也就是说:

  • 每位员工都要保留在结果中(不能像普通聚合那样合并成一行);
  • 排名是相对于同一部门的其他员工
  • 需要考虑排序(工资越高,排名越靠前);

2. 开窗函数基本组成

函数名(字段参数) OVER ([PARTITION BY 分组字段] # 分区子句,开窗函数将在不同的分区内分别执行[ORDER BY 排序字段] # 排序子句[ROWS BETWEEN start AND end] # 窗口子句,通常用来作为滑动窗口使用
)

对于上面的窗口子句:

  • start的值一般为 1.unbounded preceding,边界是分区中的第一行 2.expr preceding,边界是当前行向上数expr
  • end的值一般为 1. unbounded following,边界是分区中最后一行 2.expr following,边界是当前行向下数expr
  • startend也可以是current row,边界是当前行
  • 默认为ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW

比如:

# 窗口范围是分区中的第一行到当前行
rows unbounded preceding 
# 窗口范围是当前行、当前行的前一行、当前行的后一行,一共三行记录。
rows between 1 preceding and 1 following

边界图如果所示:
在这里插入图片描述

3. 聚合开窗函数

基础数据:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/ef57a5b9147440d4adfd136e736d0208.png

需求:统计每位员工从入职到现在,所在部门中总共发了多少钱工资。

SELECT *, 
sum(salary) over(PARTITION by part,username ORDER BY hire_date rows BETWEEN unbounded preceding and current row) as 'total_salary'
from employees

结果如下:
在这里插入图片描述

4. 排名开窗函数

统计每位员工在自己部门中的工资排名

4.1 RANK

特点:1. 相同值的行有相同排名 2. 跳过排名空行(看下面排名从1跳到了3)

SELECT *, RANK() over(PARTITION by part ORDER BY salary desc) as 'salary_rank'
from employees

在这里插入图片描述

4.2 DENSE_RANK

特点:1. 相同值的行有相同的排名 2. 不跳过排名空位(看下面排名1后面是2)

SELECT *, DENSE_RANK() over(PARTITION by part ORDER BY salary desc) as 'salary_rank'
from employees

在这里插入图片描述

4.3 ROW_NUMBER

特点:按原表数据的顺序,为每一行设置一个递增的数字

SELECT *, ROW_NUMBER() over(PARTITION by part ORDER BY salary desc) as 'salary_rank'
from employees

在这里插入图片描述

5. 取值开窗函数

5.1 FIRST_VALUE

需求:查看每位员工所在部门中工资最高的人的工资是多少(即第一名的工资)

SELECT *, FIRST_VALUE(salary) over(PARTITION by part ORDER BY salary desc ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) as 'top_salary'
from employees

在这里插入图片描述

5.2 LAST_VALUE

需求:查看每位员工所在部门中工资低的人的工资是多少(即最后第一名的工资)

SELECT *, LAST_VALUE(salary) over(PARTITION by part ORDER BY salary desc ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) as 'last_salary'
from employees

在这里插入图片描述

5.3 NTH_VALUE

需求:查看每位员工所在部门中工资排名第二的人的工资是多少

SELECT *, NTH_VALUE(salary, 2) over(PARTITION by part ORDER BY salary desc ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) as 'nth_salary'
from employees

在这里插入图片描述

5.4 LAG

需求:查看每位员工所在部门中工资与上一个人的差值

SELECT *, salary - IFNULL(LAG(salary, 1) OVER (PARTITION BY part ORDER BY salary ASC), salary) AS diff_salary
FROM employees

在这里插入图片描述

5.5 LEAD

需求:判断每个员工工资是否高于下一位

SELECT *,CASEWHEN salary > LEAD(salary) OVER (PARTITION BY part) THEN '高于下一位'ELSE '不高于'END AS compare_salary
FROM employees

在这里插入图片描述

http://www.dtcms.com/wzjs/464975.html

相关文章:

  • 韶关网站建设墨子南京网站制作设计
  • 最专业企业营销型网站建设2024新闻热点事件
  • 购物网站制作实例宁波网站推广找哪家公司
  • 廊坊网站建设哪家权威seo优化的优点
  • 淄博优化网站排名升华网络推广软件
  • 可以做外链的网站有哪些代运营哪家比较可靠
  • 网站编程 mysql求好用的seo软件
  • htmlsubmit回调网站建设discuz论坛seo设置
  • 网站服务器维护工具android优化大师
  • 快速建站用什么深圳网站开发
  • 做哪些网站比较赚钱自己怎么做网站网页
  • 于都建设银行网站招聘百度搜索趋势
  • 做淘宝网站目的推广服务商
  • 布吉商城网站建设哪家便宜怎样给自己的网站做优化
  • 网站备案多长时间来完成社群营销的十大案例
  • 斗鱼企业网站建设的目的网络营销知识点
  • 苏州网站制作网站建设长沙seo工作室
  • 网站怎么做地区屏蔽js建网站设计
  • 扬州北京网站建设上海今天发生的重大新闻
  • 代办公司注册深圳公司博客程序seo
  • 响应式网站模板企业新网站怎么做推广
  • 专注律师微网站建设与律师微信营销6口碑营销ppt
  • 网站建设优化开发公司排名网站关键词优化推广
  • 弹幕网站如何做seo网络推广怎么做
  • 苏州h5网站建设价钱免费域名申请
  • 设计类素材网站网站维护
  • 海南网站建设中心网站制作需要多少钱
  • 伪静态网站配置管理微信软件
  • 成都高端网站制作百度销售系统
  • wordpress 获取文章的分类idseo网站课程