`

一道sql面试题

阅读更多

题目:

表B


C1                 C2
2005-01-01   1
2005-01-01   3
2005-01-02   5

 

 

要求的输出数据

C1                 C2
2005-01-01   4
2005-01-02   5
合计                9
试用一个Sql语句完成。

该题目主要考的是分析函数函数over (partition by)的使用

 

--创建表B
create table b 
(c1 varchar2(14),c2 number);
insert into b
values('2005-01-01',1) ;
insert into b
values('2005-01-01',3) ;
insert into b
values('2005-01-02',5) ;
commit;

 

 

select c1,sum(c2) over(partition by c1)
from b
union 
select '合计:',sum(c2) over(partition by null)
from b;
C1             SUM(C2)OVER(PARTITIONBYC1)
-------------- --------------------------
2005-01-01                              4
2005-01-02                              5
合计:                                         9

 

0
0
分享到:
评论
2 楼 tendyming 2010-04-29  
ruanwxh 写道
select c1,sum(c2) c2 from b group by c1
union
select '合计',sum(c2) from b
这样好像也可以吧
问下博主
over分析函数的用法,作用?



ruanwxh,非常抱歉!我删错了您的回复!
1 楼 tendyming 2010-04-29  
ruanwxh 写道
select c1,sum(c2) c2 from b group by c1
union
select '合计',sum(c2) from b
这样好像也可以吧
问下博主
over分析函数的用法,作用?


可以!
就这道题目来说,用group by聚合函数同样可以实现,看起来更简单
实际上也没必要用over partition by分析函数 

分析函数over
Oracle从8.1.6开始有分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是:
对于每个组返回多行,而聚合函数对于每个组只返回一行。
有一种情况group by是无法做到的
请参考这里:
http://www.cnblogs.com/rootq/archive/2009/03/12/1409674.html

相关推荐

    一道sql面试题附答案

    有1张表, Wages 表 ——————————————- Emp_id | 基本工资| 工龄工资| ——————————————- 1 | 1.00 | 1.00 | ——————————————- 2 | 1.00 | 2.00 | ——————...

    一道SQL Server面试题

    在SQL Server中,面对这道面试题,我们需要编写T-SQL查询来满足以下需求:查询每个部门最后的人员变动时间,以及当前的人员数量、离职总人数和入职总人数。根据提供的表结构,我们可以推断出`DeptHistory`表包含了...

    sql经典面试题 大家一起学习

    这里我们来看看几道经典的SQL面试题及其解题方法。 1. 第一题的目标是统计每天胜利('胜')和失败('负')的数量。我们可以使用`GROUP BY`语句来按照日期(rq)进行分组,然后通过`CASE`表达式计算胜和负的计数。...

    sql经典面试题

    根据提供的文件内容,我们可以整理出一系列与SQL相关的面试题及解答思路。这些题目涵盖了SQL的基础查询、数据处理、以及更高级的功能应用等多方面内容,非常适合准备数据库工程师面试的求职者进行练习。下面是针对每...

    一道真正的数据库sql面试题

    通过上述整理的知识点,我们可以清晰地了解到这道面试题覆盖了SQL语言中的多个核心概念和技术点,包括表结构的设计与创建、数据迁移、多表联查、数据更新、存储过程的编写以及复杂的查询操作等。这对于评估应聘者在...

    看似简单的一道SQL面试题,你是否能够很快写出答案?

    近期在群里面看到了如下这样一个面试题目,这个题目其实难度不大,但是你是否能够很快写出这个答案来呢? 建表语句 create table student ( id varchar(20), name varchar(20), gender char(1), birth ...

    SQL面试题目,有例子。

    根据提供的信息,我们可以详细解析这些SQL面试题目以及给出的示例答案,并且深入理解每一道题目背后的原理与应用场景。 ### 風险1: 查询身份证号码为440401430103082的申请日期 #### 问题描述 此题目要求查询在`g_...

    sql 面试 题 最权威 有答案

    根据提供的文件信息,我们可以归纳出一系列与SQL相关的面试题及其解答。...以上是基于提供的SQL面试题及其解答的详细解析,每一道题目都涵盖了SQL中的核心概念和技术点,对于理解和掌握SQL非常有帮助。

    一道微软数据库面试题

    根据题目提供的信息,这是一道涉及SQL查询技巧的微软数据库面试题。虽然题目中的SQL代码与题目描述不完全对应,但我们可以基于题目描述中的信息来分析这个问题并给出解答。 ### 题目背景 题目描述指出,有一个表,...

    一道java面试题 行列转换

    ### Java面试题:行列转换详解 #### 一、问题背景 在进行数据分析或者报表处理时,经常需要将数据从一种格式转换成另一种格式以便更好地展示或分析。其中一种常见的转换需求是从行转列(即行列转换)。本篇文章将...

    数据库sql语言面试题

    根据给定的文件信息,我们将逐一解析每个SQL面试题目,并深入理解其背后的逻辑和技术要点。 ### 1. 查询“001”课程比“002”课程成绩高的所有学生的学号 这个问题需要通过子查询的方式,分别获取两门课程的成绩,...

    java的一些面试题

    Java面试题涵盖了许多核心知识点,包括基础技术、项目经验、逻辑推理和SQL查询。下面将对这些方面进行详细的解析。 1. **基础技术题** - **UML图**:UML(统一建模语言)有多种图表,包括类图、对象图、用例图、...

    一道面试题引出的系列数据库性能,数据安全问题及解决方案.docx

    综上所述,通过遵循开发规范、优化数据结构和模型、使用合适的性能优化策略以及借助自动化工具,可以有效地解决面试题中提到的数据库性能和数据安全问题。同时,开发团队和DBA需要持续关注和改进这些方面,以确保...

    0323大数据面试题SQL.docx

    这里我们将深入解析三道关于SQL的大数据面试题。 **第一题**:查询两个表(a和b)中不相交的数据集。这是一道典型的全连接查询问题。在SQL中,全连接(FULL JOIN)会返回所有匹配的行以及左表或右表中没有匹配的行...

    SQL面试汇总

    一道sql 常见面试题.doc则可能提供一个具体的面试问题实例,帮助读者更好地理解如何在实际场景中应用SQL知识。 总的来说,这份"SQL面试汇总"提供了全面的SQL学习资源,不仅覆盖了基础语法,还涉及到Oracle数据库...

    一道字节二面的sql题

    一道字节二面sql题

    暴雪面试题整理

    这是一道反向问题,通常用于考察应聘者的自知之明和诚实。答案可能包括缺乏特定技能、工作经验不足或个人生活可能影响工作表现的情况。 【加班的看法】 对于加班的看法因人而异,但通常健康的公司文化应注重工作...

    c#经典面试题

    【C#经典面试题——商品左右移动效果实现】 在C#面试中,有时会被要求解决实际的编程问题,比如设计一个商品左右移动效果的应用。这个题目来自南京为真网络技术有限公司的一道机试题,旨在考察候选人在数据库操作、...

Global site tag (gtag.js) - Google Analytics