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

吉林房地产网站开发个人电影网站备案

吉林房地产网站开发,个人电影网站备案,php网页设计代码,广告投放渠道有哪些在 MySQL 8.0 及以后版本中,窗口函数(Window Functions)为数据分析和处理提供了强大的工具。窗口函数允许在查询结果集上执行计算,而不必使用子查询或连接,这使得某些类型的计算更加高效和简洁。 语法结构 function_…

在 MySQL 8.0 及以后版本中,窗口函数(Window Functions)为数据分析和处理提供了强大的工具。窗口函数允许在查询结果集上执行计算,而不必使用子查询或连接,这使得某些类型的计算更加高效和简洁。

语法结构

function_name() OVER ([PARTITION BY expression_list][ORDER BY expression_list][frame_clause]
)
  • PARTITION BY:将查询结果集分成多个分区,类似于 GROUP BY,但在窗口函数中是用于定义数据的分组逻辑。例如,按照部门分区,然后在每个部门内进行操作。
  • ORDER BY:对每个分区内的行进行排序,这是可选的。窗口函数的计算可能会依赖于行的顺序,如计算累计和等。

创建测试表

CREATE TABLE `employee` (`employee_id` int NOT NULL AUTO_INCREMENT,`department` varchar(45) DEFAULT NULL,`salary` varchar(45) DEFAULT NULL,PRIMARY KEY (`employee_id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

写入测试数据

INSERT INTO `test`.`employee` (`employee_id`, `department`, `salary`) VALUES (1, 'Sales', '6000');
INSERT INTO `test`.`employee` (`employee_id`, `department`, `salary`) VALUES (2, 'Sales', '6000');
INSERT INTO `test`.`employee` (`employee_id`, `department`, `salary`) VALUES (3, 'Sales', '5000');
INSERT INTO `test`.`employee` (`employee_id`, `department`, `salary`) VALUES (4, 'IT', '7000');
INSERT INTO `test`.`employee` (`employee_id`, `department`, `salary`) VALUES (5, 'IT', '9000');
INSERT INTO `test`.`employee` (`employee_id`, `department`, `salary`) VALUES (6, 'Marketing', '5500');
INSERT INTO `test`.`employee` (`employee_id`, `department`, `salary`) VALUES (7, 'Sales', '5000');

使用窗口函数

SELECT employee_id, department, salary,
RANK() OVER (PARTITION BY department ORDER BY salary desc) AS ran,
DENSE_RANK() OVER (PARTITION BY department ORDER BY salary DESC) AS d_ran,
ROW_NUMBER() OVER (PARTITION BY department ORDER BY salary DESC) AS row_num
FROM employee;

RANK() 函数计算排名,如果有并列情况,排名会出现跳跃。
DENSE_RANK() 函数在并列情况下不会跳跃。
ROW_NUMBER() 函数为每一行分配一个唯一的行号,即使有并列情况也是如此。

实际使用时,可以通过结合cte表达式,指定row_num值,来实现数据去重的效果。
例如:

with distinct_tbl as (select *,ROW_NUMBER() OVER (PARTITION BY department,salary ORDER BY salary DESC) AS row_numfrom employee
)
select * from distinct_tbl 
where row_num = 1

执行结果
在这里插入图片描述

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

相关文章:

  • 云一网站公司wordpress后台打开超级慢
  • 网站开发公司模板拟定一个物流网站建设方案
  • 个人网站搭建wordpress广东建设信息网手机版
  • 临海响应式网站设计重庆seo入门教程
  • wordpress禁止响应重庆网站建设及优化
  • 湘潭知名网站建设河南网站建设企业
  • 建设工程安全监督备案网站静安西安网站建设
  • 运营商做网站网站维护费
  • 商城app开发多少钱一键优化ppt
  • 东莞模板建站软件seo关键词选取工具
  • 深圳平湖网站建设公司天津百度快照优化公司
  • 九江市建设局网站海兴网站建设价格
  • 网站建设虚拟空间苏州网站建设企业网站制作
  • 旅游网站模板html5seo技术专员招聘
  • 建站的流程是什么需要什么步骤如何重新编辑wordpress
  • 鼓楼做网站价格软件工程软件开发
  • 静安建设机械网站网站推广服务网址
  • 做网站有哪些注意事项如何查询网站的空间商
  • 免费动态图片素材网站专业的网站建设平台
  • 网站改版 需求文档门户网站需要多少费用
  • 做原创的网站wordpress升级方法
  • 国外字体设计网站徐州注册公司
  • 网络技术专业学什么合肥seo网站排名
  • 个旧市建设网站网站主页模板
  • 宜兴建设局拍卖房产的网站织梦 网站地图 样式
  • 常德做网站专业公司哪家好怎么创建免费的网站
  • 有了网站开发app是不是更容易网站死链检查
  • 网站域名注册需要什么手续深圳专业seo优化公司
  • 怎做不下网站刷枪wordpress评论不显示头像
  • 德阳响应式网站建设中国建设银行蚌埠官方网站