分组函数
记得有道sql 面试题是。以emp表为例
找出每个部门薪水的前三名。
SELECT *
FROM (SELECT A.*, ROW_NUMBER() OVER(PARTITION BY DEPTNO ORDER BY JOB) RN
FROM EMP A)
WHERE RN <= 3;
这是一个分组函数的简单应用。
昨天公司要开年会,分房,标准间。两个人一间。
同事又不好说“我要和你一房”。。呵呵
来写个随机分组吧。
以emp为例。。14个人。分为7组。
SELECT B.*, MOD(ROWNUM, 7) ROOM
FROM (SELECT A.* FROM EMP A ORDER BY DBMS_RANDOM.RANDOM) B
ORDER BY ROOM;
很简单吗。呵呵。这样分完,同事可乐坏了。男女混住。哈哈
要改,一定要改
为了测试 给emp 加个sex 字段
CREATE TABLE my_emp AS SELECT * FROM emp;
ALTER TABLE my_emp ADD sex VARCHAR2(1);
UPDATE my_emp SET sex=MOD(empno,2);
这回要男女分开,有利精神文明建设。哈哈
SELECT A.*,
sex || CEIL(RANK() OVER(PARTITION BY A.SEX ORDER BY ROWNUM)/2) AS ROOM_ID
FROM (SELECT * FROM my_emp ORDER BY DBMS_RANDOM.random) A;
我想到了over 却没想到ceil 这是itpub szusunny 兄台写的。不错不错。
ENAME SEX ROOM_ID
---------- --- -----------------------------------------
MARTIN 0 01
MILLER 0 01
ADAMS 0 02
TURNER 0 02
BLAKE 0 03
JONES 0 03
SCOTT 0 04
FORD 0 04
JAMES 0 05
CLARK 0 05
SMITH 1 11
ALLEN 1 11
WARD 1 12
KING 1 12
顺便囧一下
- 大小: 9.4 KB
分享到:
相关推荐
oracle笔记分组函数,涉及组函数案例,在使用组函数的过程中注意事项,有具体的案例说明!
本篇文章将详细阐述Oracle分组函数的概念、功能以及常用分组函数的使用方法。 一、分组函数概述 分组函数主要作用于一组数据上,而不是单个记录,它们用于对数据进行汇总,如计算总和、平均值、最大值、最小值等。...
Oracle数据库使用分组函数来对数据进行聚集
本博客简单介绍一下oracle分组函数之rollup的用法,rollup函数常用于分组统计,也是属于oracle分析函数的一种 环境准备 create table dept as select * from scott.dept; create table emp as select * from ...
Oracle 分组函数 Oracle 分组函数是一种特殊的函数,用于对查询结果进行分组处理。分组函数可以对查询结果进行聚合操作,例如计算平均值、总和、最小值、最大值等。 Oracle 提供了多种分组函数,包括 AVG、SUM、...
Oracle 自定义日期函数 Oracle 日期处理函数是数据库管理系统中非常重要的一部分,最近看到有人在做 T-SQL 与 PL/SQL 的转化,问了些有关时间函数的处理。在 PL/SQL 中,Oracle 提供了其他的方法来处理日期函数,...
### Oracle 分组函数详解 #### 一、章节目标与内容概览 在Oracle数据库中,分组函数(也称为聚合函数)是一种强大的工具,用于处理数据集并从中提取有用的信息。通过本章节的学习,读者将能够理解单行函数与分组...
### ORACLE CRC32函数详解 #### 一、概述 在Oracle数据库中,`CRC32`函数是一种非常实用的功能,主要用于将字符类型的数据转换为一个唯一的数字类型,这一过程通常被称为散列(Hash)。通过该函数,可以方便地生成...
简单的oracle 时间比较函数,自己在网上找到并加以整理出来。
oracle之占比函数 oracle之占比函数 oracle之占比函数
总的来说,掌握这些Oracle函数和分组知识对于数据查询和分析至关重要,它们能帮助我们更有效地处理和理解数据库中的信息。通过熟练运用这些工具,可以构建出复杂的查询,满足各种业务需求。在实际工作中,不断实践和...
Oracle字符相似度函数是Oracle数据库系统提供的一种功能,用于评估两个字符串之间的相似性。这个功能在数据清洗、信息检索、文本分析等领域具有广泛的应用。在SQL查询中,我们可以直接使用这些函数来比较不同字符串...
Oracle数据库系统中内置了MD5函数,这是一种广泛使用的哈希函数,用于生成固定长度的数字摘要,通常用于数据完整性校验和密码存储。MD5全称为Message-Digest Algorithm 5,由Ron Rivest在1991年设计,尽管它在安全性...
在数据库管理领域,SQLServer与Oracle作为两大主流的数据库管理系统,各自拥有丰富的内置函数,用于数据处理、查询优化以及各种复杂的数据操作需求。本文将基于给定文件信息,深入探讨和对比SQLServer与Oracle中的...
使用Oracle的SQL函数实现工作日和节假日分组统计 本文介绍了使用Oracle的SQL函数来实现工作日和节假日的分组统计,通过对工作日和节假日的判断和统计,可以更好地合理调度人力物力资源,制定节假日劳务补贴政策。...
Oracle 中分组后拼接分组字符串 本文主要介绍了在 Oracle 中如何对分组后的数据进行拼接操作,生成分组字符串。下面将对这个问题进行详细的分析和解释。 首先,我们需要创建一个测试表,并插入一些测试数据。这个...
Oracle 自定义聚合函数-分析函数 Oracle 自定义聚合函数是一种强大且灵活的功能,允许用户根据自己的需求创建自定义的聚合函数。聚合函数是一种特殊的函数,它可以对一组数据进行处理和计算,并返回一个结果。 ...
开窗函数允许我们在查询结果集的一个窗口内执行聚合操作,而无需对数据进行物理排序或分组。本文将重点介绍`OVER`函数及其相关用法,并通过具体的例子来帮助读者更好地理解和掌握这些技巧。 #### 二、`OVER`函数...
Oracle SQL 内置函数大全 SQL中的单记录函数 给出整数,返回对应的字符 连接两个字符串 增加或减去月份 用于对查询到的结果进行排序输出
ORACLE的OVER函数使用技巧ORACLE的OVER函数使用技巧ORACLE的OVER函数使用技巧