DM8部分函数的功能分别举例说明

article/2025/7/18 17:15:52

DM8部分函数的功能分别举例说明

  • 1 环境说明
  • 2 函数功能使用示例
    • 2.1 AVG OVER
    • 2.2 COUNT OVER
    • 2.3 MIN OVER,MAX OVER,SUM OVER
    • 2.4 DENSE_RANK
    • 2.5 ROW_NUMBER
    • 2.6 FIRST
    • 2.7 LAG
    • 2.8 WM_CONCAT
  • 3 更多达梦数据库全方位指南:安装 优化 与实战教程

1 环境说明

  • Cpu x86
  • Os Kylin V10
  • Dm8 1-3-100-2023.12.26-213242-20081-ENT
  • 测试数据 下载

2 函数功能使用示例

2.1 AVG OVER

--AVG OVER
--按部门计算平均薪资
--每行显示每个员工的薪资、部门平均薪资及全公司薪资排名。
SELECTDEPARTMENT_ID,	--部门IDEMPLOYEE_ID,	--员工IDSALARY,			--员工工资AVG(SALARY)OVER (PARTITION BY DEPARTMENT_ID)AS DEPTAVG,	--部门平均工资RANK() OVER(ORDER BY SALARY DESC)AS SALARY_RANK 		--工资排名FROM DMHR.EMPLOYEE;

在这里插入图片描述

2.2 COUNT OVER

--COUNT OVER
--按部门统计员工数
--每行显示员工所属部门的员工总数
SELECTDEPARTMENT_ID,	--部门IDEMPLOYEE_ID,	--员工IDCOUNT(*) OVER(PARTITION BY DEPARTMENT_ID) AS DEPTEMP_COUNT	--部门总人数
FROM DMHR.EMPLOYEE;

在这里插入图片描述

2.3 MIN OVER,MAX OVER,SUM OVER

--MIN OVER,MAX OVER,SUM OVER
--每行显示员工薪资及其所属部门的最低薪资,最高薪资,薪资总和,平均工资,总人数,工资排名SELECT DEPARTMENT_ID,	--部门IDEMPLOYEE_ID,		--员工IDSALARY,			--员工薪资MIN(SALARY) OVER (PARTITION BY DEPARTMENT_ID) AS DEPTMIN_SALARY,	--部门最低薪资MAX(SALARY) OVER (PARTITION BY DEPARTMENT_ID) AS DEPTMAX_SALARY,	--部门最高薪资SUM(SALARY) OVER (PARTITION BY DEPARTMENT_ID) AS DEPTSUM_SALARY,	--部门薪资总和AVG(SALARY)OVER (PARTITION BY DEPARTMENT_ID)AS DEPTAVG,			--部门平均工资COUNT(*) OVER(PARTITION BY DEPARTMENT_ID) AS DEPTEMP_COUNT,		--部门总人数RANK() OVER(ORDER BY SALARY DESC)AS SALARY_RANK 					--工资排名
FROM DMHR.EMPLOYEE ;

在这里插入图片描述

2.4 DENSE_RANK

--DENSE_RANK
--按部门统计工资出现次数,并生成密集排名
WITH SALARY_COUNT AS (SELECT DEPARTMENT_ID,SALARY,COUNT(*) AS OCCURRENCE  -- 统计工资出现次数FROM DMHR.EMPLOYEEGROUP BY DEPARTMENT_ID, SALARY
)
SELECT DEPARTMENT_ID,SALARY,OCCURRENCE,DENSE_RANK() OVER (PARTITION BY DEPARTMENT_ID ORDER BY OCCURRENCE DESC) AS DENSERANKNUM  -- 按出现次数降序生成密集排名
FROM SALARY_COUNT;

在这里插入图片描述

2.5 ROW_NUMBER

--ROW_NUMBER
--按部门统计工资出现次数,并生成顺序编号WITH SALARY_COUNT AS (SELECT DEPARTMENT_ID,SALARY,COUNT(*) AS OCCURRENCE  -- 统计工资出现次数FROM DMHR.EMPLOYEEGROUP BY DEPARTMENT_ID, SALARY
)
SELECT DEPARTMENT_ID,SALARY,OCCURRENCE,ROW_NUMBER() OVER (PARTITION BY DEPARTMENT_ID ORDER BY SALARY DESC) AS DENSERANKNUM  -- 按照顺序编号,不区分相同值,即从 1 开始编号
FROM SALARY_COUNT ORDER BY DEPARTMENT_ID ASC,SALARY DESC;

在这里插入图片描述

2.6 FIRST

--FIRST
--同时获取部门最低和最高薪资员工
SELECT DEPARTMENT_ID,MAX(EMPLOYEE_NAME) KEEP (DENSE_RANK FIRST ORDER BY SALARY) AS LOWEST_EMP,MAX(EMPLOYEE_NAME) KEEP (DENSE_RANK LAST ORDER BY SALARY) AS HIGHEST_EMP,MIN(SALARY) AS MIN_SALARY,MAX(SALARY) AS MAX_SALARY
FROM DMHR.EMPLOYEE
GROUP BY DEPARTMENT_ID;

在这里插入图片描述

2.7 LAG

--LAG
--按部门分区,获取部门内前一位员工薪资
SELECT DEPARTMENT_ID,EMPLOYEE_NAME,SALARY,LAG(SALARY) OVER (PARTITION BY DEPARTMENT_ID ORDER BY SALARY) AS PREV_SALARY
FROM DMHR.EMPLOYEE;

在这里插入图片描述

2.8 WM_CONCAT

--WM_CONCAT
--列转行,合并姓名列
SELECT DEPARTMENT_ID,TO_CHAR(WM_CONCAT(NVL(EMPLOYEE_NAME, '未知'))) AS EMPLOYEES
FROM DMHR.EMPLOYEE
GROUP BY DEPARTMENT_ID;

在这里插入图片描述

3 更多达梦数据库全方位指南:安装 优化 与实战教程

  • 更多达梦数据库全方位指南:安装 优化 与实战教程 - -点击跳转

http://www.hkcw.cn/article/aRTQSvOqOQ.shtml

相关文章

大语言模型 24 - MCP 自动操作 提高模型上下文能力 Cursor + Sequential Thinking Server Memory

点一下关注吧!!!非常感谢!!持续更新!!! Java篇: MyBatis 更新完毕目前开始更新 Spring,一起深入浅出! 大数据篇 300: Hadoop&…

【多线程初阶】线程状态 线程安全

文章目录 1.线程状态线程的状态及状态转移 2.多线程带来的风险 - 线程安全(重点)线程安全问题产生的原因如何解决线程安全问题 1.线程状态 EE的第一篇总览中有提到过 进程的状态 1.就绪 2.阻塞 这都是从操作系统的视角看待的 Java线程也是对操作系统线程的封装,针对状态这里…

Python 序列的修改、散列和切 片(Vector类第4版:散列和快速等值 测试)

Vector类第4版:散列和快速等值测试 我们要再次实现__hash__ 方法。加上现有的__eq__ 方法,这会把 Vector 实例变成可散列的对象。 示例 9-8 中的__hash__ 方法简单地计算 hash(self.x) ^ hash(self.y)。这一次,我们要使用^(异或…

ai姿势项目

链接:https://pan.baidu.com/s/1dGSt7wEk8w6O7zlgme3CUQ?pwd=x60y 提取码:x60y --来自百度网盘超级会员V2的分享 配置环境 conda create -n 环境名称 python=3.8conda activate 环境名称 如果你运行程序的话会报错 ModuleNotFoundError: No module named mediapipe 进…

LoRA:高效微调预训练模型的利器

LoRA(Low-Rank Adaptation) 的思想:冻结预训练模型权重,将可训练的低秩分解矩阵注入到Transformer架构的每一层(也可单独配置某一层)中, 从而大大减少在下游任务的可训练参数量。 核心原理 对于预训练权重矩阵 ,LoRA限制了其更新…

越界检测算法AI智能分析网关V4打造多场景化的应用解决方案

一、方案概述 随着社会发展,传统安防系统在复杂环境下暴露出误报率高、响应慢等短板。AI智能分析网关V4依托先进算法与强大算力,实现周界区域精准监测与智能分析,显著提升入侵防范效能。本方案通过部署该网关及其越界检测功能,为…

使用SkiaSharp打造专业级12导联心电图查看器:性能与美观兼具的可视化实践

前言 欢迎关注dotnet研习社,今天我们研究的Google Skia图形库的.NET绑定SkiaSharp图形库。 在医疗软件开发领域,心电图(ECG)数据的可视化是一个既有挑战性又极其重要的任务。作为开发者,我们需要创建既专业又直观的界面来展示复杂的生物医学…

24位高精度数据采集卡NET8860音频振动信号采集监测满足自动化测试应用现场的多样化需求

NET8860 高分辨率数据采集卡技术解析 阿尔泰科技的NET8860是一款高性能数据采集卡,具备8路同步模拟输入通道和24bit分辨率,适用于高精度信号采集场景。其输入量程覆盖10V、5V、2V、1V,采样速率高达256KS/s,能够满足多种工业与科研…

2025年05月30日Github流行趋势

项目名称:agenticSeek 项目地址url:https://github.com/Fosowl/agenticSeek项目语言:Python历史star数:13040今日star数:1864项目维护者:Fosowl, steveh8758, klimentij, ganeshnikhil, apps/copilot-pull-…

PCB设计实践(三十一)PCB设计中机械孔的合理设计与应用指南

一、机械孔的基本概念与分类 机械孔是PCB设计中用于实现机械固定、结构支撑、散热及电气连接的关键结构元件,其分类基于功能特性、制造工艺和应用场景的差异,主要分为以下几类: 1. 金属化机械孔 通过电镀工艺在孔内壁形成导电层,…

TC/BC/OC P2P/E2E有啥区别?-PTP协议基础概念介绍

前言 时间同步网络中的每个节点,都被称为时钟,PTP协议定义了三种基本时钟节点。本文将介绍这三种类型的时钟,以及gPTP在同步机制上与其他机制的区别 本系列文章将由浅入深的带你了解gPTP,欢迎关注 时钟类型 在PTP中我们将各节…

五.MySQL表的约束

1.not null空属性 和 default缺省值 两个值:null(默认的)和not null(不为空) 元素可以分为两类 1.not null 不能为空的,这种没有默认default 要手动设定,我们必须插入数据而且不能为NULL。但我们插入数据有两种方式 1.…

4.Haproxy搭建Web群集

一.案例分析 1.案例概述 Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多,包括LVS、Nginx,LVS性能最好,但是搭建相对复杂;Nginx的upstream模块支持群集功能,但是对群集节点健康检查功能…

NewsNow:免费好用的实时新闻聚合平台,让信息获取更优雅(深度解析、部署攻略)

名人说:博观而约取,厚积而薄发。——苏轼《稼说送张琥》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、NewsNow项目概览1. 项目核心亮点2. 技术架构特点 二、核心功能深度解析1. 智能新…

论文阅读笔记——FLOW MATCHING FOR GENERATIVE MODELING

Flow Matching 论文 扩散模型:根据中心极限定理,对原始图像不断加高斯噪声,最终将原始信号破坏为近似的标准正态分布。这其中每一步都构造为条件高斯分布,形成离散的马尔科夫链。再通过逐步去噪得到原始图像。 Flow matching 采取…

【leetcode】02.07. 链表相交

链表相交 题目代码1. 计算两个链表的长度2. 双指针 题目 02.07. 链表相交 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 代码 …

文字转图片的字符画生成工具

软件介绍 今天要介绍的这款软件可以将文字转换成图片的排列形式,非常适合需要将文字图形化的场景,建议有需要的朋友收藏。 软件名称与用途 这款软件名为《字符画大师》,是一款在网吧等场所非常流行的聊天辅助工具,其主要功能就…

Bitlocker密钥提取之SYSTEM劫持

该漏洞编号CVE-2024-20666,本文实现复现过程,Windows系统版本如下 简介 从Windows10(th1)开始,微软在winload模块中,增加了systemdatadevice字段值的获取,该字段值存储在BCD引导配置文件中。当…

明场检测与暗场检测的原理

知识星球里的学员问:明场检测与暗场检测原理上有什么区别? 如上图, 明场检测(Bright-field Inspection) 工作原理: 光线从近乎垂直照射到样品表面。 如果表面平整、无缺陷,光线会直接反射回镜…

STL解析——vector的使用及模拟实现

目录 1.使用篇 1.1默认成员函数 1.2其他常用接口 2.模拟实现 2.1源码逻辑参考 2.2基本函数实现 2.3增 2.4删 2.5迭代器失效 2.6拷贝构造级其他接口 2.7赋值运算符重载(现代写法) 2.8深层次拷贝优化 3.整体代码 在C中vector算正式STL容器,功能可以类比于…