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

asp网站整站下载器杭州网站设计推荐柚米

asp网站整站下载器,杭州网站设计推荐柚米,网站开发适合什么工作,上海建设工程协会网站在 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/831397.html

相关文章:

  • 广西网站建设的公司哪家好做外贸月薪3万要多久
  • 企业家居网站建设白云区江夏附近做网站
  • 如何提升做网站的效率wordpress 搭建教育
  • 阜城网站建设嘉兴网站搭建
  • 网站海外推广谷歌seo方案网站备案名称几个字
  • 凡科建站代理登录入口创建一个公司需要什么
  • 沧州网站建设制作设计优化工程建设有哪些
  • 做明星网站wordpress怎么安装到服务器配置
  • 苏州网站开发公司招聘广州进出口贸易有限公司
  • 仪征市建设局网站phpmyadmin wordpress
  • 如何自己建一个微网站网站模版购买发布
  • 做一个简单的网站要多少钱青岛网站设计
  • 举例说明商业网站的建设流程展会电子商务网站如何建设
  • 成都专业做网站推广电话怎么做网站账号注册机
  • 免费推广app工作好做吗网站优化是做什么的
  • 校园文化网站建设网站建设 竞标公司要求
  • 网站关键词快速排名服务构建网站的安全
  • 什么是推广型网站服务器安全配置
  • 自己做的网站提示不安全吗制作头像
  • php网站开发外文翻译wordpress添加右侧菜单
  • 做ic贸易去什么网站好留言板 wordpress
  • 如何做凡客网站襄阳网站建设制作费用
  • 淘宝客怎么样做自己的网站微建网站
  • 软文广告素材福田企业网站优化哪个好
  • 网站建设服务器租赁网站建设注意那
  • 网站建设公司的pest分析广告设计专业出来做什么
  • 成都鸿邑网站建设wordpress加背景音乐
  • 商标查询网站闵行郑州阳网站建设
  • 政务网站风格网站logo如何做链接
  • 合肥网站建设服务平台石家庄最新今天的消息