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

免费网站安全软件大全免费下载安装怎么建个自己的网站

免费网站安全软件大全免费下载安装,怎么建个自己的网站,佛山 网站建设,网站开发流程传智播客🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一…

🍋🍋大数据学习🍋🍋

🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。
💖如果觉得博主的文章还不错的话,请点赞👍+收藏⭐️+留言📝支持一下博主哦🤞


在 Apache Hive 中,窗口函数(Window Functions)是一类强大的 SQL 函数,用于对查询结果集的一个“窗口”或“分组”进行计算,而不减少结果集的行数。以下是 Hive 中常用的窗口函数分类及示例:

1. 排名函数

函数描述
ROW_NUMBER()为结果集中的每一行分配一个唯一的行号,行号从 1 开始。
RANK()为结果集中的每一行分配一个排名,遇到相同值时跳过排名。
DENSE_RANK()为结果集中的每一行分配一个排名,遇到相同值时不跳过排名。
NTILE(n)将结果集划分为 n 个桶,并为每一行分配一个桶号。

示例

SELECT 
employee_id,
salary,
RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank_in_department,
DENSE_RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS dense_rank_in_department,
ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS row_number_in_department
FROM employees;

2. 聚合函数(作为窗口函数)

函数描述
SUM()计算窗口内数值的总和。
AVG()计算窗口内数值的平均值。
MIN()返回窗口内的最小值。
MAX()返回窗口内的最大值。
COUNT()计算窗口内的行数。
SELECT 
employee_id,
department_id,
salary,
SUM(salary) OVER (PARTITION BY department_id) AS total_salary_in_department,
AVG(salary) OVER (PARTITION BY department_id) AS avg_salary_in_department
FROM employees;

3. 分析函数

函数描述
LAG(column, n, default)返回当前行之前第 n 行的值,如果超出范围则返回 default
LEAD(column, n, default)返回当前行之后第 n 行的值,如果超出范围则返回 default
FIRST_VALUE(column)返回窗口内第一行的值。
LAST_VALUE(column)返回窗口内最后一行的值(需结合 ROWS BETWEEN 子句使用)。
NTH_VALUE(column, n)返回窗口内第 n 行的值。
SELECT 
employee_id,
salary,
LAG(salary, 1, 0) OVER (PARTITION BY department_id ORDER BY salary) AS prev_salary,
LEAD(salary, 1, 0) OVER (PARTITION BY department_id ORDER BY salary) AS next_salary,
FIRST_VALUE(salary) OVER (PARTITION BY department_id ORDER BY salary) AS first_salary_in_department
FROM employees;

4. 累积函数

函数描述
CUME_DIST()计算当前行在窗口内的累积分布(小于等于当前值的比例)。
PERCENT_RANK()计算当前行在窗口内的百分比排名。
SELECT 
employee_id,
salary,
CUME_DIST() OVER (PARTITION BY department_id ORDER BY salary) AS cume_dist_in_department,
PERCENT_RANK() OVER (PARTITION BY department_id ORDER BY salary) AS percent_rank_in_department
FROM employees;

5. 窗口定义

窗口函数通常与 OVER 子句一起使用,OVER 子句定义了窗口的范围和排序方式。

OVER (
[PARTITION BY column1, column2, ...]
[ORDER BY column3 [ASC|DESC], column4 [ASC|DESC], ...]
[ROWS|RANGE BETWEEN ... AND ...]
)
  • PARTITION BY:将结果集划分为多个分区,窗口函数在每个分区内独立计算。
  • ORDER BY:定义窗口内的排序顺序。
  • ROWS|RANGE BETWEEN:定义窗口的边界(可选)。
SELECT 
employee_id,
salary,
SUM(salary) OVER (
PARTITION BY department_id 
ORDER BY hire_date 
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
) AS cumulative_salary_in_department
FROM employees;

6. 窗口边界

  • UNBOUNDED PRECEDING:窗口从分区的第一行开始。
  • UNBOUNDED FOLLOWING:窗口到分区的最后一行结束。
  • CURRENT ROW:窗口仅包含当前行。
  • n PRECEDING:窗口包含当前行之前的 n 行。
  • n FOLLOWING:窗口包含当前行之后的 n 行。
SELECT 
employee_id,
salary,
AVG(salary) OVER (
PARTITION BY department_id 
ORDER BY hire_date 
ROWS BETWEEN 2 PRECEDING AND CURRENT ROW
) AS moving_avg_salary_in_department
FROM employees;

总结

Hive 中的窗口函数为数据分析提供了强大的工具,可以用于排名、聚合、累积计算、前后值比较等操作。常见的窗口函数包括:

  • 排名函数ROW_NUMBER()RANK()DENSE_RANK()NTILE()
  • 聚合函数SUM()AVG()MIN()MAX()COUNT()
  • 分析函数LAG()LEAD()FIRST_VALUE()LAST_VALUE()NTH_VALUE()
  • 累积函数CUME_DIST()PERCENT_RANK()
http://www.dtcms.com/wzjs/568810.html

相关文章:

  • 软文是什么文章西宁网站优化
  • 大连做网站优化公司dedecms学校网站模板
  • 兰州拼团网站建设wordpress用什么域名好
  • 海淘网站建设seo模拟点击有用吗
  • 瑞安市做网站app制作图片
  • 网站重构案例株洲房地产信息网
  • 个人资料展示网站响应式网站设计优点
  • 天津 网站策划微信服务号绑定网站吗
  • 海珠免费网站建设建设网站用什么代码写好呢
  • 东莞建设小学网站网站建设域名什么意思
  • 中国黄金建设网站分类网站模板
  • 做网站 搞流量免费广告发布平台app
  • 域名备案网站建设书模板开创集团网站建设
  • 青岛一品网站建设线上推广有哪些
  • 网站开发主管要做什么建筑网站的思想
  • 湖南网站开发公司手机ppt制作软件
  • 网站title修改wordpress 关于页面
  • 图书网站开发创建网站制作首页
  • 网站建设工作总结报告苏州工业园区建设主管部门网站
  • asp.net做网站实例网站开发包含什么
  • 自己的网站统计输入词电子商务网站建设职业技能目标
  • 电子商务网站建设哪本教材比较适合中等专业学校用怎么开通微信小程序卖东西
  • 网站备份怎么做自贡移动网站建设
  • 手机网站html代码做爰试看的网站
  • 湖南营销网站建设设计十大免费网页制作平台
  • php mysql网站开发教程php网站开发案例教程
  • 软件下载网站 知乎无锡微信网站推广
  • 南漳县建设局网站做外单网站亚马逊
  • 自己做网站统计工程建设网最新信息网站
  • 给别人做违法网站wordpress翻页函数