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

男和男人怎么做那个视频网站苏州的网络企业

男和男人怎么做那个视频网站,苏州的网络企业,wordpress插件 一键登录,做宾馆网站一、窗口函数核心概念 ​​窗口(Window)​​ 窗口是数据行的集合,由OVER()子句定义。它决定了函数计算的“数据范围”,可以是一个分区的全部行、当前行前后的行,或动态变化的子集。 ​​语法结构​​ SELECT window_f…

一、窗口函数核心概念

  1. ​窗口(Window)​
    窗口是数据行的集合,由OVER()子句定义。它决定了函数计算的“数据范围”,可以是一个分区的全部行、当前行前后的行,或动态变化的子集。

  2. ​语法结构​

    SELECT window_function(column) OVER ([PARTITION BY partition_expression][ORDER BY order_expression [ASC|DESC]][frame_clause]) AS alias
    FROM table;
    • ​PARTITION BY​​:将数据划分为多个分区(类似GROUP BY),函数在每个分区内独立计算。
    • ​ORDER BY​​:定义分区内数据的排序方式,影响窗口函数的计算顺序。
    • ​frame_clause​​:定义窗口的具体范围(如当前行及其前后N行)。

二、窗口函数分类及示例

1. 聚合类窗口函数

普通聚合函数(如SUMAVGCOUNT)结合OVER()使用,实现累计、移动平均等效果。

​示例:计算累计销售额​

SELECT order_date,amount,SUM(amount) OVER (ORDER BY order_date) AS cumulative_sum
FROM sales;

结果:

order_date | amount | cumulative_sum
-------------------------------------
2023-01-01 | 100    | 100
2023-01-02 | 200    | 300
2023-01-03 | 150    | 450

2. 排名类窗口函数
  • ROW_NUMBER()​:为每行分配唯一序号(相同值也会不同)。
  • RANK()​:相同值的行排名相同,后续序号跳跃(如1,1,3)。
  • DENSE_RANK()​:相同值的行排名相同,后续序号连续(如1,1,2)。

​示例:按销售额排名​

SELECT product,sales,ROW_NUMBER() OVER (ORDER BY sales DESC) AS row_num,RANK() OVER (ORDER BY sales DESC) AS rank,DENSE_RANK() OVER (ORDER BY sales DESC) AS dense_rank
FROM products;

结果:

product | sales | row_num | rank | dense_rank
--------------------------------------------
A       | 500   | 1       | 1    | 1
B       | 500   | 2       | 1    | 1
C       | 400   | 3       | 3    | 2

3. 分布类窗口函数
  • PERCENT_RANK()​:计算行的相对排名百分比(范围[0,1])。
  • CUME_DIST()​:计算行的累积分布(当前行及其之前行的占比)。

​示例:计算销售额分布​

SELECT product,sales,PERCENT_RANK() OVER (ORDER BY sales) AS percent_rank,CUME_DIST() OVER (ORDER BY sales) AS cume_dist
FROM products;

4. 前后函数
  • LAG(column, N)​:获取当前行​​前N行​​的值。
  • LEAD(column, N)​:获取当前行​​后N行​​的值。

​示例:计算销售额环比增长​

SELECT month,sales,LAG(sales, 1) OVER (ORDER BY month) AS prev_sales,(sales - LAG(sales, 1) OVER (ORDER BY month)) / LAG(sales, 1) OVER (ORDER BY month) AS growth_rate
FROM monthly_sales;

结果:

month | sales | prev_sales | growth_rate
----------------------------------------
Jan   | 1000  | NULL       | NULL
Feb   | 1200  | 1000       | 0.2
Mar   | 1500  | 1200       | 0.25

三、窗口帧(Frame Clause)

通过ROWSRANGE定义窗口的具体范围:

  • ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW​:从分区开始到当前行。
  • ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING​:当前行的前一行到后一行。

​示例:计算3个月移动平均​

SELECT month,sales,AVG(sales) OVER (ORDER BY monthROWS BETWEEN 2 PRECEDING AND CURRENT ROW) AS moving_avg
FROM monthly_sales;

结果:

month | sales | moving_avg
---------------------------
Jan   | 100   | 100.0
Feb   | 200   | 150.0
Mar   | 150   | 150.0
Apr   | 300   | 216.7

四、使用场景

  1. ​排名与分组排名​​:按部门、时间等分区后排序。
  2. ​累计计算​​:累计销售额、年累计增长率。
  3. ​移动统计​​:移动平均、移动求和。
  4. ​数据对比​​:当前行与前一行的差值或比率。

五、注意事项

  1. ​MySQL版本​​:窗口函数需MySQL 8.0+,旧版本不支持。
  2. ​性能优化​​:合理使用索引和分区,避免全表扫描。
  3. ​执行顺序​​:窗口函数在WHEREGROUP BYHAVING之后执行。
http://www.dtcms.com/a/526297.html

相关文章:

  • 一个网站开发的流程二次开发创造作用
  • 网站怎么做认证免费网站备案号码
  • 西安网站开发的未来发展东莞企业官方网站建设
  • 11. Python 列表: 元素增操作详解
  • 記錄js中的冒泡事件
  • 腾讯云 怎样建设网站域客式单页网站能申请域名吗
  • 西双版纳州住房和城乡建设局网站wordpress注册美化
  • 多种方法找回Root密码详细操作步骤
  • 阿里云服务器建设网站视频网站用什么做的好
  • 大专生工作后还能专升本吗?对职业发展有帮助吗?
  • 棉桃剥壳机做网站重庆网站推广营销
  • 大学生简历免费制作网站互联网备案服务平台
  • 哪些网站用django做的狼雨seo网站排名查询
  • 网站制作公司推荐深圳黑马品牌网站设计
  • 做网站需要字体切换从用户旅程角度做网站分析
  • 橙色主题手机网站希爱力副作用太强了
  • 数字化转型:概念性名词浅谈(第八十讲)
  • 公司注册网站模板长沙口碑好网站建设企业
  • leetcode学习笔记3:轮转数组(多次翻转数组思想)
  • 新手网站建设教程图书宁波企业建站程序
  • 银川做网站建设wordpress多条件过滤
  • 【shell】每日shell练习:系统备份文件管理/系统性能趋势分析
  • 重庆门户网站开发报价app开发公司十强
  • 广东建设协会网站首页关键词推广seo
  • Orleans 配置方式时序图
  • 网站建设 空间杭州 电子商务网站建设 网络服务
  • 有哪些图片设计网站有哪些问题网站权重最高
  • 怎样上传网站到百度wordpress 文章截取
  • 网站建设120wordpress左右
  • 如何上传网站模板如何评价一个网站设计的好坏