`
啸笑天
  • 浏览: 3461225 次
  • 性别: Icon_minigender_1
  • 来自: China
社区版块
存档分类
最新评论

oracle 分组排序后字段序列值

阅读更多

表名字:mytable


--用sql语句,不用临时表,存储过程实现
update (select id,SORT from mytable) a
set a.SORT=(
            select temp_sort
            from (select id,SCORE, row_number() OVER(PARTITION BY NAME ORDER BY SCORE DESC) temp_sort  from  mytable  ) b
            where a.id=b.id 
           )

--最后显示下可以看到排序排名和原始排名相同
SELECT 名字,得分,排序排名,原始排名 
FROM  
     (
      SELECT NAME 工程期,SCORE 得分, ROW_NUMBER() OVER(PARTITION BY NAME ORDER BY SCORE DESC) 排序排名,SORT  原始排名
FROM mytable 
     ) 
 对于大数据效率不高,有待继续改进
  • 大小: 62 KB
分享到:
评论

相关推荐

    Oracle时间区间段合并.pdf

    对于每个`ID`,按照`BEG_TIM`排序后,累积`F`的值。如果`F`始终为0,表示所有的区间段都是连接的,累积值不会改变。一旦`F`变为1,累积值就会增加,从而形成一个新的区间段。 3. 分组(GROUP BY): 在内部查询中...

    Oracle常用sql语句

    创建表时,应先定义小且非空的字段,后定义可能为空的字段;可用中文字段名,但推荐英文;可设置字段默认值如`DEFAULT SYSDATE`;并可添加约束条件如`UNIQUE`、`PRIMARY KEY`。 **2. ALTER语句** 修改现有表结构...

    Oracle 笔记 详解 资料 用例

    笔记中详细讲解了SQL的SELECT语句,包括如何选择字段、如何进行条件过滤、如何排序和分组数据,以及更复杂的联接操作和子查询。此外,还有关于DML语句(INSERT、UPDATE、DELETE)和DDL语句(CREATE、ALTER、DROP)的...

    Oracle SQL 测试题目

    Oracle SQL 是一种强大的数据库查询语言...以上是对测试题目中涉及的Oracle SQL知识的详细解释,涵盖了统计、联接、子查询、排序、转换函数、序列和约束等核心概念。这些知识点对于理解并有效使用Oracle SQL至关重要。

    ORACLE数据库智能化管理系统2012

    本系统可执行SQL分组语句后,再对结果某值代码变为相对应名称,从而提高了数据库对SQL语句执行性能,减轻了因关联表太多查询,造成数据库性能下降带来的负担。 本系统可对执行SQL语句的结果集批量逐行处理多字段值...

    Oracle到mysql转换的问题总结.doc

    ORDER BY ...)` 可以用 MySQL 的用户变量和子查询来模拟分组排序后的行号。 6. **其他函数**: - Oracle 的 `DATE + INTERVAL` 和 `ADD_MONTHS` 可以用 MySQL 的 `DATE_ADD(date, INTERVAL n DAY/MONTH)` 替换。 ...

    Oracle 入门及提高练习题

    4. 排序与分页:ORDER BY用于排序,LIMIT或ROWNUM用于分页,理解在大数据集中的应用。 5. 联接查询优化:学习如何通过索引、物化视图、连接优化等方法提升查询效率。 三、数据库对象 1. 索引:理解B树索引、位图...

    Oracle选择题.pdf

    13. 限制分组函数:HAVING(B)子句用于限制GROUP BY后的结果集,WHERE子句不能过滤聚合函数的结果,ORDER BY用于排序,无法直接限定分组函数的返回值。 14. 序列对象:在Oracle中,序列是自动递增的数值,currval...

    Oracle试题及答案

    - **CACHE和NOCACHE**: 控制序列值是否被缓存。 - **MAXVALUE和MINVALUE**: 设置序列的最大和最小值。 #### 13. 强制创建视图 - **题目解析**:使用FORCE选项可以创建带有错误的视图。 - **知识点说明**: - **...

    ORACLESQL拼接语句.docx

    还可以使用聚合函数(如COUNT、SUM、AVG等),分组(GROUP BY)、排序(ORDER BY)、连接(JOIN)和其他复杂查询结构。 4. **其他知识点** - **行级锁**:在执行DML语句时,Oracle会自动加上行级锁,防止并发冲突...

    oracle10笔记

    - **使用序列**:通过`NEXTVAL`和`CURRVAL`获取序列值。 - **删除序列**:使用`DROP SEQUENCE sequence_name;`删除序列。 #### 23. 存储过程、触发器和游标 - **存储过程**:预编译的SQL代码块,可以接受参数,返回...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    9.4 返回更新后的行 232 9.5 求解顺序 233 9.5.1 行求解顺序 233 9.5.2 规则求解顺序 235 9.6 聚合 237 9.7 迭代 237 9.7.1 一个例子 238 9.7.2 PRESENTV与空值 239 9.8 查找表 240 9.9 空值 242 9.10 ...

    oracle数据库试卷.pdf

    NEXTVAL则会返回下一个序列值并更新序列。 13. 数据类型转换:当表col1的数据类型从NUMBER改为VARCHAR2,声明为tab1.col1%TYPE的变量var1将自动调整为字符型。 14. 死锁:两位用户分别持有对方需要的锁定资源时,...

    ORACLE速成手册 面向应用

    序列是一种用于生成连续整数的数据库对象,常用于自动为主键字段生成唯一值。 #### 4. 视图 视图是基于一个或多个表或其他视图的虚拟表,它并不存储数据,而是存储一个SQL查询。通过视图可以实现对敏感数据的保护...

    ORACLE常用的SQL语法和数据对象 CHM

    你可以根据需要选择一个或多个列,并可以使用WHERE子句过滤结果,ORDER BY子句排序,GROUP BY和HAVING子句进行分组和聚合操作。 2. **INSERT语句**:用于向表中插入新记录。你需要指定表名和要插入的列及对应的值。...

Global site tag (gtag.js) - Google Analytics