iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL查询各科前3名
  • 450
分享到

MySQL查询各科前3名

mysql数据库java 2023-10-27 11:10:15 450人浏览 安东尼
摘要

前言: 最近突然被问到了一张学生成绩表,怎么求出各科前三名,当时想了很久也不会,于是现在记录下来。 参考了2篇博客: 1,mysql查询各科成绩前三名_No.03 数据库经典面试之如何取出每科成绩的前

前言:

最近突然被问到了一张学生成绩表,怎么求出各科前三名,当时想了很久也不会,于是现在记录下来。
参考了2篇博客:
1,mysql查询各科成绩前三名_No.03 数据库经典面试之如何取出每科成绩的前三名
2,MySQL 查询各科前三名(考虑成绩并列情况)

准备:

1,创建表
CREATE TABLE `test_course` (`id` varchar(10) NOT NULL,`class` varchar(1000) DEFAULT NULL,`grade` int(100) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1
2,插入数据
INSERT INTO test.`test_course` VALUES ('1','yuwen','100');INSERT INTO test.`test_course` VALUES ('10','yingyu','16');INSERT INTO test.`test_course` VALUES ('11','yingyu','85');INSERT INTO test.`test_course` VALUES ('12','yingyu','95');INSERT INTO test.`test_course` VALUES ('2','yuwen','80');INSERT INTO test.`test_course` VALUES ('3','shuxue','60');INSERT INTO test.`test_course` VALUES ('4','shuxue','100');INSERT INTO test.`test_course` VALUES ('5','shuxue','95');INSERT INTO test.`test_course` VALUES ('6','yuwen','85');INSERT INTO test.`test_course` VALUES ('7','shuxue','16');INSERT INTO test.`test_course` VALUES ('8','yuwen','15');INSERT INTO test.`test_course` VALUES ('9','yingyu','15');

开始

第一种
SELECTS1.*,(SELECTCOUNT( 1 ) FROM`test_course` S2 WHERES1.CLASS = S2.CLASS AND S2.GRADE > S1.GRADE )+ 1 AS count FROM`test_course` S1 HAVINGcount <= 3 ORDER BYS1.CLASS,count ;
结果

在这里插入图片描述

第二种

SELECTt1.*FROMtest_course t1LEFT JOIN ( SELECT * FROM test_course ) t2 ON t1.class = t2.class AND t1.grade < t2.grade GROUP BYt1.id,class,grade HAVINGcount( 1 ) < 3 ORDER BYt1.class,gradeDESC
结果

在这里插入图片描述

来源地址:https://blog.csdn.net/weixin_42596407/article/details/129860289

您可能感兴趣的文档:

--结束END--

本文标题: MySQL查询各科前3名

本文链接: https://www.lsjlt.com/news/489293.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL查询各科前3名
    前言: 最近突然被问到了一张学生成绩表,怎么求出各科前三名,当时想了很久也不会,于是现在记录下来。 参考了2篇博客: 1,mysql查询各科成绩前三名_No.03 数据库经典面试之如何取出每科成绩的前...
    99+
    2023-10-27
    mysql 数据库 java
  • MySql各种查询方式详解
    目录新增聚合查询分组查询条件查询联合查询自连接合并查询新增 insert into B select * from A;//将A表的信息通过查询新增到B表中去 聚合查询 ...
    99+
    2024-04-02
  • 3种linux命令查询mysql
    这篇文章主要介绍了3种linux命令查询mysql,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。linux命令查询mysql的有:1、启动mys...
    99+
    2024-04-02
  • mysql怎么查询当前用户下的所有表名
    小编给大家分享一下mysql怎么查询当前用户下的所有表名,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql查询当前用户下的...
    99+
    2024-04-02
  • mysql如何查询库名
    小编给大家分享一下mysql如何查询库名,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! mysql查...
    99+
    2024-04-02
  • mysql如何查询表名
    这篇“mysql如何查询表名”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mysql如何查...
    99+
    2023-04-21
    mysql
  • 查找linux占用内存的前3名进程
    来自老男孩教育每日一题:http://lidao.blog.51cto.com/3388056/1914585查找占用内存的前3名进程(命令大风暴,看谁的命令最精简)参考答案:方法一top,输入大写P,结果按CPU占用降序排序;输入大写M,...
    99+
    2023-01-31
    进程 内存 linux
  • mysql如何查询当前年份
    今天小编给大家分享一下mysql如何查询当前年份的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2022-11-30
    mysql
  • php mysql如何查询排名
    本篇内容主要讲解“php mysql如何查询排名”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php mysql如何查询排名”吧!php mysql查询排名的方法:1、通过SQL语句对所有用户进...
    99+
    2023-06-25
  • mysql主机名如何查询
    方法一:通过MySQL客户端查询1. 打开命令行终端或者MySQL客户端。2. 连接到MySQL服务器,例如:mysql -h ho...
    99+
    2023-05-13
    mysql主机名 mysql
  • 3、wampserver中查看各项当前版本及简单配置PHP
    wampserver点击左键,即可查看Apache,PHP,MySQL,MariaDB的当前版本     在wampserver的安装目录中,在相应的D:\wamp64\bin\php\php8.0.26 php.ini文件中,short_...
    99+
    2023-09-04
    php
  • mysql如何查询前10条记录
    本篇内容主要讲解“mysql如何查询前10条记录”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql如何查询前10条记录”吧! ...
    99+
    2024-04-02
  • mysql怎么查询当前连接数
    要查询当前 MySQL 数据库的连接数,可以执行以下 SQL 查询: SHOW STATUS WHERE `variable...
    99+
    2024-04-09
    mysql
  • mysql如何查询字段名称
    这篇“mysql如何查询字段名称”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mysql如...
    99+
    2024-04-02
  • MySQL怎么查询各专业的学生人数
    要查询各专业的学生人数,可以使用如下的SQL语句: SELECT 专业, COUNT(*) as 学生人数 FROM 学生表...
    99+
    2024-04-09
    mysql
  • mysql如何查询所有表名
    要查询所有表名,可以使用以下SQL语句: SHOW TABLES; 这条语句会列出当前数据库中的所有表名。如果想要查询特定数据库中...
    99+
    2024-04-08
    mysql
  • 分享3个MySQL查询容易踩的坑
    目录前言1、无 Order by 的随机问题2、Order by + Limit 的随机问题3、聚合函数 + Limit的不准确问题总结前言 在使用mysql的过程中,相比大家都踩过不少坑,下面我将列举日常生活中比较高频...
    99+
    2024-04-02
  • SpringBoot整合Mybatis之各种查询、模糊查询、批量删除、动态表名操作
    目录一、普通查询1. 若查询出的数据只有一条2. 若查询出的数据有多条二、模糊查询 like "%"#{name}"%"三、批量删除...
    99+
    2022-12-22
    SpringBoot整合Mybatis查询 SpringBoot整合Mybatis SpringBoot整合Mybatis批量删除
  • 怎么用php查询当前微信用户名
    在开发微信应用时,经常需要获取当前微信用户的信息,其中用户名也是一个比较常见的需求。在PHP中,可以使用一些API来查询当前微信用户名。下面我们将介绍一些常用的方法,帮助开发者快速实现。一、使用微信开发者工具自带的API微信开发者工具自带了...
    99+
    2023-05-14
    php
  • mysql查询前30条数据的方法
    这篇文章将为大家详细讲解有关mysql查询前30条数据的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。mysql查询前30条数据的方法:可以通过执行【SELEC...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作