`
hehoha_wj
  • 浏览: 4490 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

一道面试题,关于oracle窗口函数lag、lead的应用

阅读更多

表A的数据如下:

ID                  NAME                                 COUNT
------------------- ------------------------------ -----------
1001                A                                       20
1002                B                                       10
1003                C                                       80
1004                D                                       50

 

写出一条SQL查询结果如下:

ID                  NAME                                 COUNT     DCOUNT     UCOUNT
------------------- ------------------------------ ----------- ---------- ----------
1002                B                                       10                      20
1001                A                                       20         10         50
1004                D                                       50         20         80
1003                C                                       80         50

 

实现SQL如下:

select A.ID,A.NAME,A.COUNT,LAG(A.COUNT,1) OVER(ORDER BY COUNT) DCOUNT,LEAD(A.COUNT,1) OVER(ORDER BY COUNT) UCOUNT FROM A;

分享到:
评论

相关推荐

    Oracle面试题及答案整理

    根据提供的文件信息,可以看出这是一份关于Oracle数据库面试题及其解答的资料。下面将针对这份材料中的关键知识点进行详细解析。 ### Oracle基本操作与常见面试题解析 #### 1. 处理表间关联的数据(多表连接) ...

    oracle数据库面试题

    从给定的Oracle数据库面试题中,我们可以提炼出多个关键知识点,这些知识点涵盖了SQL查询、数据聚合、条件筛选以及窗口函数的应用。以下是针对每个部分的详细解析: ### 1. 数据聚合与分组 在第一个问题中,题目...

    SQL常见的面试题集锦,非常详尽的题库,非常经典

    10. **窗口函数**:如RANK(), ROW_NUMBER(), LAG(), LEAD()等,提供了对数据集进行排名、计算差异和移动平均等功能。 11. **数据库设计与范式**:了解第一范式(1NF)、第二范式(2NF)、第三范式(3NF)等,以及...

    Oracle面试题及答案整理.docx

    Oracle 面试题及答案整理 Oracle 是一种关系数据库管理系统(RDBMS),它使用 SQL 语言来管理和存储数据。以下是 Oracle 面试题及答案整理中的一些知识点: 1. 表:table1(FId,Fclass,Fscore),用最高效最简单的 ...

    数据库面试题(SQL+ORACLE)..zip

    3. **窗口函数**:掌握ROW_NUMBER(), RANK(), DENSE_RANK(), LAG(), LEAD(), FIRST_VALUE(), LAST_VALUE()等窗口函数的应用。 4. **联接操作**:理解不同类型的联接(INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL ...

    09-拼多多面试真题:如何找出连续出现N次的内容?

    首先,我们需要对得分时间和球员号码进行排序,然后使用窗口函数`LAG()`和`LEAD()`来获取当前行之前和之后的得分。`LAG()`函数返回当前行之前一行的值,`LEAD()`函数返回当前行之后一行的值。通过比较这些值,我们...

    oracle面试题

    根据提供的Oracle面试题,我们可以逐一解析并详细阐述其中涉及的关键知识点。 ### 1. 表:table1(FId,Fclass,Fscore),用最高效最简单的SQL列出各班成绩最高的列表,显示班级,成绩两个字段。 #### 解析 题目要求...

    数据库面试题 Sql面试题

    4. **窗口函数**:如ROW_NUMBER(), RANK(), DENSE_RANK(), LAG(), LEAD(), NTILE()等,它们允许我们在数据集上进行复杂的计算,例如计算排名、移动平均或差异。 5. **分页查询**:使用LIMIT和OFFSET(在MySQL中)或...

    数据库 sql 面试题大全

    窗口函数如RANK、ROW_NUMBER和LEAD/LAG则能在分组内进行计算,提供排序和分析功能。面试中可能会考察这些函数的使用。 5. **创建与修改表结构**:CREATE TABLE语句用于创建新表,ALTER TABLE用于修改已有表的结构。...

    电脑应用-SQL经典面试题集共13页.pdf.zip

    4. **窗口函数**:如ROW_NUMBER(), RANK(), DENSE_RANK(), LAG(), LEAD()等,这些函数在处理行级别的计算和排名时非常有用。 5. **联接与子查询优化**:面试中可能会涉及如何优化SQL查询,比如避免全表扫描,使用...

    oracle面试试题

    - **窗口函数**:`LAG()`和`LEAD()`函数用于获取当前行前一行或后一行的数据。 - **日期函数**:`TO_DATE()`用于将字符串转换为日期类型;`ADD_MONTHS()`用于增加或减少月份。 - **DECODE 函数**:类似于`CASE`...

    一些经典的SQL语句和各大公司的面试题

    6. **窗口函数**: - ROW_NUMBER()、RANK()、DENSE_RANK():用于为每行分配一个唯一的排名。 - LEAD()和LAG():获取当前行的前一行或后一行的数据。 - NTILE():将行分成若干个桶或组。 - LAG()、LEAD()、FIRST_...

    SQL(2).zip_Sql面试题

    - 分区函数(Window Function):在结果集上进行计算,如RANK(), ROW_NUMBER(), LAG()和LEAD()。 5. 视图(View)与存储过程(Procedure): - 视图:虚拟表,基于一个或多个表的查询结果。 - 存储过程:预编译...

Global site tag (gtag.js) - Google Analytics