`
senton
  • 浏览: 205763 次
  • 性别: Icon_minigender_1
  • 来自: 紫禁城
社区版块
存档分类
最新评论

一道有趣的SQL题目

阅读更多
 
--题目:
--已知:现有个学生,每个学生有十门课程的成绩,分数类型为float型的,
--要求:去掉最高和最低分后求平均分,然后排名次。此例不考虑其中有缺考的请考的情况。
--查询结果显示两列,姓名和平均分,并且分数只能保留一位小数。
--实现步骤如下:
if exists (select * from sysobjects where name='score_table')
    drop table score_table
go
 
create table score_table
(
    id int identity (1,1) primary key,
    name varchar(20),
    score float
)
go
插入一些测试用的数据
insert into score_table values('张三',56)
insert into score_table values('张三',89)
insert into score_table values('张三',89)
insert into score_table values('张三',78)
insert into score_table values('张三',65)
insert into score_table values('张三',55)
insert into score_table values('张三',83)
insert into score_table values('张三',82)
insert into score_table values('张三',73)
insert into score_table values('张三',67)
insert into score_table values('张三',67)
 
insert into score_table values('李四',88)
insert into score_table values('李四',45)
insert into score_table values('李四',67)
insert into score_table values('李四',87)
insert into score_table values('李四',46)
insert into score_table values('李四',83)
insert into score_table values('李四',48)
insert into score_table values('李四',65)
insert into score_table values('李四',83)
insert into score_table values('李四',48)
 
insert into score_table values('王五',76)
insert into score_table values('王五',66)
insert into score_table values('王五',79)
insert into score_table values('王五',89)
insert into score_table values('王五',67)
insert into score_table values('王五',86)
insert into score_table values('王五',66)
insert into score_table values('王五',49)
insert into score_table values('王五',79)
insert into score_table values('王五',97)
 
insert into score_table values('赵六',97)
insert into score_table values('赵六',76)
insert into score_table values('赵六',56)
insert into score_table values('赵六',99)
insert into score_table values('赵六',56)
insert into score_table values('赵六',77)
insert into score_table values('赵六',74)
insert into score_table values('赵六',65)
insert into score_table values('赵六',93)
insert into score_table values('赵六',76)
 
insert into score_table values('田七',34)
insert into score_table values('田七',56)
insert into score_table values('田七',98)
insert into score_table values('田七',86)
insert into score_table values('田七',68)
insert into score_table values('田七',74)
insert into score_table values('田七',86)
insert into score_table values('田七',68)
insert into score_table values('田七',96)
insert into score_table values('田七',78)
 
select * from score_table
 
--查询语句:
select name, convert(decimal(3,1),((sum(score)-min(score)-max(score))/(count(*)-2))) as avgScore from score_table group by name order by avgScore desc
go
执行结果:
name    avgScore
赵六     76.8
田七     76.5
王五     76.0
张三     73.3
李四     65.9
 
分享到:
评论

相关推荐

    SQL面试题目,有例子。

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

    一道经典的SQL测试题

    根据给定的信息,本文将对一道经典SQL测试题进行详细解析。这道题目不仅能够测试出应试者在SQL操作方面的熟练程度,还能考察其逻辑思维能力与问题解决技巧。 ### 题目背景 本题是一道典型的SQL查询题,主要考察...

    一道题涉及到50个SQL语句

    "一道题涉及到50个SQL语句" 这道题目主要考察了 SQL 语句的使用,涉及到多表连接、子查询、聚合函数等知识点。下面将对每个问题进行详细的解释和分析: 1. 查询“001”课程比“002”课程成绩高的所有学生的学号: ...

    内部资料SQL测试题目

    SQL,全称Structured Query Language,即结构化查询语言,是用于管理关系数据库系统的主要编程语言。...记住,实践是掌握任何技能的关键,所以认真对待每一道题目,多思考,多尝试,你的SQL技能将会得到显著提升。

    一道褒贬不一的SQL考试题(下).pdf

    文档通过分析一道备受争议的SQL考试题目,展示了如何利用SQL进行数据排序、分组、聚合以及异常值处理。 首先,题目要求根据教师ID、教师姓名、课程ID、课程名称以及平均分,按照平均分从高到低来排列教师及其课程。...

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

    根据给定的信息,我们可以将这些内容整理为几个关键的知识点,主要聚焦于SQL查询、表结构设计、数据处理以及过程化SQL(如存储过程)等方面。下面将详细展开每个部分的知识点。 ### 1. 表结构转换与数据迁移 #### ...

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

    在面试中,SQL题目通常用来测试候选人的数据查询、处理和分析能力。这里我们来看看几道经典的SQL面试题及其解题方法。 1. 第一题的目标是统计每天胜利('胜')和失败('负')的数量。我们可以使用`GROUP BY`语句来...

    过年时希望大家练习的一道PL/SQL综合练习(附答案)

    标题中的“过年时希望大家练习的一道PL/SQL综合练习(附答案)”暗示了这是一个关于数据库管理和编程的练习题目,特别是PL/SQL语言的学习资源。PL/SQL是Oracle数据库系统中的编程语言,它结合了SQL查询语句和过程式...

    sql经典面试题

    下面是针对每一道题目的详细解析: ### SQL经典面试题解析 #### 1. 查询分数高于80分的学生姓名 **问题:** 需要找出所有分数超过80分的学生姓名。 **解法:** - 使用子查询排除低于80分的记录。 - 或者使用`GROUP...

    ACCP5.0 s1sql 所有作业答案

    本压缩包中的“SQL答案”文件很可能包含了每一道作业题目的解题思路和完整的SQL代码。这不仅有助于检验学习者的理解程度,还可以作为自查和复习的工具,帮助他们在遇到困难时找到正确的解决方案。学习者可以通过比对...

    sql模块考试用的数据库

    在描述中提到的"第八题"可能是一道具体的SQL题目,可能涉及到联接(JOIN)、子查询、聚合函数(如COUNT、SUM、AVG、MAX、MIN)或者窗口函数(如ROW_NUMBER、RANK、DENSE_RANK)等复杂操作。考生需要理解如何使用这些...

    SQL试题题库(上百页,1365道题全有答案)

    同时,理论与实践相结合,每解完一道题,尝试理解和应用其背后的原理,这样不仅能提升你的SQL技能,还能增强解决问题的能力。希望这个题库能成为你SQL学习旅程中的宝贵财富,祝你在学习的道路上不断进步!

    迅雷面试笔试题目

    另一道题目要求在长度为10000的字符串中找出最长重复子串。这通常涉及复杂度为O(n!)的算法,但可以尝试用动态规划等方法降低算法复杂度。 - **动态规划**:将问题分解为子问题,并记录子问题的解,以减少重复计算。...

    0_利用在线SQL实践平台上机说明1

    二是超额完成率,这意味着对于同一道题目,如果学生能提出多种正确的查询方法,他们将获得更高的得分,这部分占上机部分的20%。需要注意的是,系统只会反馈查询命令是否正确,不会提供答案或查询结果,这样可以鼓励...

    SQL练习-Part1

    下面将详细解释每一道题目及对应的SQL语句。 1. 从职工关系中检索所有工资值。 ```sql SELECT 工资 FROM 职工表; ``` 2. 检索仓库表中的所有记录。 ```sql SELECT * FROM 仓库表; ``` 3. 检索工资多于 1230 元的...

    SQL Server 2000数据库程序设计

    其中一道题目涉及如何将运动会统计数据打包并发送给50家公司,以便它们能够在各自的网站上以不同格式展示这些数据。 **知识点解析:** - **选项A**: 使用包含FOR XML子句的SELECT语句来提取数据。FOR XML子句可以将...

    一道java面试题 行列转换

    本篇文章将通过一个具体的Java面试题目,详细介绍如何在Oracle和SQL Server两种数据库环境下实现行列转换,并给出具体的示例代码。 #### 二、需求分析与设计 假设我们有一个成绩表`sc`,表结构如下: - `sid`: ...

    SQL面试汇总

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

    一道微软数据库面试题

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

    CTF题目 [成绩查询 - Bugku CTF]union注入和sqlmap的入门使用,两种方法一道题

    ### CTF题目 [成绩查询 - Bugku CTF]union注入和sqlmap的入门使用 #### 知识点一:SQL注入基础与Union注入原理 **SQL注入**是一种常见的网络安全攻击方式,通过将恶意SQL代码插入应用程序接收的数据中,进而操纵...

Global site tag (gtag.js) - Google Analytics