如果是使用oracle的话,应该是考查分析函数和开窗函数的使用,最近一直在写这个,现在给出oracle的写法:
CREATE TABLE T_STU(
ID NUMBER(38) PRIMARY KEY,
NAME VARCHAR2(20),
GENDER NUMBER(1),
GRADE NUMBER(4)
);
insert into t_stu values(1,'Alex',1,91);
insert into t_stu values(2,'Elena',0,92);
insert into t_stu values(3,'Alex2',1,92);
insert into t_stu values(4,'Elena2',1,92);
insert into t_stu values(5,'Alex3',1,98);
insert into t_stu values(6,'Elena3',1,98);
insert into t_stu values(7,'Alex4',1,98);
insert into t_stu values(8,'Elena4',1,92);
insert into t_stu values(9,'Alex5',1,51);
insert into t_stu values(10,'Elena5',0,90);
insert into t_stu values(11,'Alex6',1,90);
insert into t_stu values(12,'Elena6',0,90);
insert into t_stu values(13,'Elena7',0,89);
insert into t_stu values(14,'Elena8',0,87);
insert into t_stu values(15,'Alex5',1,60);
insert into t_stu values(16,'Alex5',1,70);
SELECT *
FROM (SELECT s.*,
DENSE_RANK() OVER(PARTITION BY s.gender ORDER BY s.grade DESC) dro
FROM t_stu s ) t
WHERE t.dro <= 5
下面的图片是执行sql后的效果,当然最后一列是不需要的,这里显示只是为了让你明白
[img]
[/img]
分享到:
相关推荐
SQL面试题详解 本资源旨在总结和详细解释SQL面试题中的各种问题和解决方案,并对每个问题进行了详细的解释和分析。 一、查询每门课都大于80分的学生姓名 问题:使用一条SQL语句查询出每门课都大于80分的学生姓名...
本资源“经典sql语句”聚焦于SQL的经典面试题及其解答,旨在帮助求职者特别是针对SQL Server岗位的应聘者准备面试。以下将详细解析SQL的一些核心知识点,并结合可能的面试问题进行阐述。 1. **选择查询(SELECT)**...
本文档总结了 Oracle SQL 面试题中的常见知识点,涵盖了 SQL 语句编写、表操作、数据查询、数据分析等方面的内容。 一、SQL 语句编写 1. 查询每门课都大于 80 分的学生姓名: 可以使用以下 SQL 语句实现: ```...
SQL语句简单面试题 本文将对SQL语句简单面试题进行详细的知识点总结,包括Group By语句、Case When语句、日期判断语句等多个知识点。 1. Group By语句: 在第一道面试题中,需要使用Group By语句对表中的数据进行...
这里我们来看看几道经典的SQL面试题及其解题方法。 1. 第一题的目标是统计每天胜利('胜')和失败('负')的数量。我们可以使用`GROUP BY`语句来按照日期(rq)进行分组,然后通过`CASE`表达式计算胜和负的计数。...
在面试中,SQL语句的内联外联经典面试题是一个非常重要的考察点。本文将对SQL语句的内联外联进行详细的介绍和分析,并提供了一些经典的面试题和答案,以便读者更好地理解和掌握SQL语句的内联外联。 一、SQL语句的...
在Java面试中,掌握SQL语句是至关重要的,因为大多数应用程序都需要与数据库进行交互。SQL,全称为结构化查询语言,是用于管理关系数据库的标准语言。以下是对SQL语句的详细解析,主要涵盖DDL(数据定义语言)、DML...
在给定的部分内容中,我们可以看到一个经典的SQL面试题,即如何使用GROUP BY语句来统计分类结果。在这个问题中,我们需要统计每天的胜利和失败次数,可以使用以下SQL语句来实现: ```sql SELECT rq, SUM(CASE WHEN ...
### 经典SQL面试题解析 #### 颇具挑战性的SQL面试题——删除冗余记录 **题目背景与分析** 在本题中,我们面对的是一个常见的问题:如何有效地处理数据库中的冗余数据。在实际应用中,由于各种原因(如数据导入...
最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习...
SQLSERVER 数据库面试题及答案 面对数据库面试时,候选人需要具备扎实的理论基础和实践经验,以下我们将为您提供一些常见的数据库面试题和答案,帮助您更好地准备面试。 1. 使用标准 SQL 嵌套语句查询选修课程名称...
以下是一些关于SQL的基础面试题及其解析: 1. 查询特定记录: 例如,要获取名字为"Bill Gates"的电子邮件地址,可以使用以下查询: ```sql SELECT email FROM email_table WHERE name='Bill Gates'; ``` 2. ...
MySQL SQL语句练习题及答案 本资源提供了 MySQL SQL 语句的练习题及答案,涵盖了创建表、插入数据、删除数据、更新数据、查询数据等多方面的知识点。 一、创建表 在 MySQL 中,创建表使用 CREATE TABLE 语句。...
sqlserver+sqlserver面试题及答案 sqlserver+sqlserver面试题及答案 sqlserver+sqlserver面试题及答案
以下是一些常见的SQL Server面试题及相关的知识点解析: 1. 查询每门课都大于80分的学生姓名: 这个问题涉及到子查询和聚合函数。解决方案是通过找出所有分数低于或等于80分的学生,然后从全集中排除这些学生,...
SQL面试题(2)展示了如何使用`CASE`语句进行数据聚合。`CASE`语句允许根据条件设置不同的值,这里用来按`s_id`分组并计算每个仓库的库存总量。`SUM(CASE WHEN ... THEN ... ELSE 0 END)`结构确保当某个产品在特定...
### SQL经典面试题解析 #### 1. 删除冗余记录 **题目描述:** 假设有一个表`table1`包含以下列:学号(自动编号)、姓名、性别和年龄。现在需要删除除了学号(自动编号)字段以外,其他字段都相同的冗余记录。 **...
SQL语句是数据库操作的核心,它用于查询、插入、更新和删除数据,是任何数据库管理系统中的基础工具。在IT行业中,编写SQL语句是一项必备技能,但手动编写和调试SQL语句可能会耗费大量时间和精力,尤其在处理复杂...