方法一:

SELECT sc.*,c.`

Cname` ,COUNT(sc.C)

FROM sc

LEFT JOIN sc a

ON sc.C = a.C AND sc.score >= a.score

LEFT JOIN course c

ON sc.C = c.C

WHERE sc.C = c.C

GROUP BY

sc.C,sc.S,sc.score

HAVING COUNT(sc.C)>=4

ORDER BY a.C,a.score DESC

解析:

先copy 一个sc 表中的数据,与原sc 进行对比。统计每个score 大于其他数据的计数。再按sc.C,sc.S进行分组

SELECT sc.*,COUNT(sc.C)

FROM sc

LEFT JOIN sc a

ON sc.C= a.C AND sc.score >=a.score

GROUP BY sc.C,sc.S

可以看到,第一行数据的count计数为 6,由于我们要取每科前三名,sc表中共有student S编号7个,

自身不纳入count进行计数,则为6个需要取出前3--计数大于3的值。

SELECT sc.*,COUNT(sc.C)

FROM sc

LEFT JOIN sc a

ON sc.C= a.C AND sc.score >=a.score

GROUP BY

sc.C,sc.S,sc.score

HAVING COUNT(sc.C)>3ORDER BY a.C,a.score DESC

方法二:

SELECT a.* FROM

sc a

WHERE

(SELECT COUNT(*)

FROM sc

WHERE sc.C =a.C

AND a.score

ORDER BY a.C,a.score DESC

解析:

与方法一同理,复制一个表进行count计数

原文:https://www.cnblogs.com/jescs/p/12186019.html

mysql查询各科前3_MySQL 查询各科前三的数据相关推荐

  1. mysql查询职位大于3_Mysql查询语句

    查询语句 单表查询 1.1 全表查寻 select * from employee; 1.2 指定字段查询 查询职员表中所有职员姓名和入职时间 select empname,hirdate from ...

  2. 查询每个歌手下载量最大的三条数据

    假设有一个表叫SongsTop,是歌曲下载情况的记录. Star,SongName,Hot 周杰伦,乔克叔叔,2861 周杰伦,稻香,4842 周杰伦,兰亭序,2656 周杰伦,流浪诗人,1568 S ...

  3. sql查询成绩最高分_sql查询各科成绩前三名----详述过程,思路清晰不烧脑!

    一.建表造数据 建表: create table scores( name varchar(100), subject varchar(100), score int ); 插入数据: insert ...

  4. Javaweb15==mysql+mybatis+servlet+axios+fasetjson+vue+elementUI前后端分离,实现列表后端分页、模糊查询后分页、新增、单一/批量删除、修改

    难点:模糊查询后再次分页,并可以选择页数. 最终环境配置: maven3.8:依赖包管理 IDEA2021+JDK8+mysql connector java5+Mysql5+mybatis3.5:从 ...

  5. 【Mysql】Sql分组查询后取每组的前N条记录

    目录 一.背景 二.实战解析 三.总结 一.背景 最近,在开发中遇到个功能需求.系统有个资讯查询模块,要求资讯按照卡片形式展示.如下图: 按照项目组展示卡片,每个项目组展示阅读量最多的TOP2. 需求 ...

  6. MySQL查询最大值(最小值)或前n个最大(最小)值的方法分析

    在实际中,我们可能会有这样的需求,就是从数据库中查出某个字段的最大值或最小值,或者查出前n个最大(最小)值.例如,查出某个学生成绩中最好的一个或者查出排名在前5名的学生成绩等.下面简要给出一些示例查询 ...

  7. mysql查询每个部门工资最高的员工信息_SQL简单面试题:查询每个部门工资最高的前10位员工...

    前段时间同事突然甩了一个SQL面试题给我,题目是需要查询每个部门工资最高的前10位员工.想着查每个部门的最高还好,用max语句就可以搞定,这是要取前十.... 快速构建了一下思路,查了一下有没有类似的 ...

  8. Hive查询各自区组的money排名前十的账号

    有一个账号表如下,请写出SQL语句,查询各自区组的money排名前十的账号(分组取前10) 1)建表(MySQL) CREATE TABLE `test_ten_account` (`dist_id` ...

  9. SQL练习题_ 查询每个部门工资最高的前两名的姓名和部门名称【多测师_何sir】

    查询每个部门工资最高的前两名的姓名和部门名称 第一种解决方案: 第二种解决方案: SQL练习题: 假设一个部门有4个人,A,B,C,D A的工资=10000 B的工资=9000 C的工资=8000 D ...

最新文章

  1. shell介绍,命令历史,命令补全和别名 ,通配符, 输入输出重定向
  2. 人工智能电磁车模如何入手?
  3. 做excel的时候要快速按照纬度的角度来分析构建:一个词语“纬度”
  4. 推荐一个快速反射调用的类
  5. 密码学数字信封的介绍
  6. poj 1015(dp)
  7. 快递官网漏洞泄露 1400 万用户信息
  8. 机器学习数据特征归一化的目的及方式
  9. Win2D 官方文章系列翻译 - DPI (每英寸点数)和 DIPs(设备独立像素)
  10. Url 助手类(Url Helper)
  11. yandex安装插件教程,研究了一下午终于可以用了
  12. 视频教程-webpack基础和完整项目脚手架搭建教程-JavaScript
  13. 软考软件设计师下午真题-面向对象的程序设计与实现-享元设计模式(2021年下半年试题六))Java代码讲解
  14. IdentityServer4 去掉验证
  15. 学习日志-《微习惯》心得
  16. Java8新特性三:常用的函数式接口(Supplier,Consumer,Predicate,Function)
  17. java 查找英语单词相似度,用于单词匹配,法1
  18. 洛谷 P1378 油滴扩展
  19. Unity UI Toolkit学习笔记-EditorWindow
  20. win7查看隐藏文件夹

热门文章

  1. 搜索引擎早期重要论文推荐系列【7】《Searching the Web》
  2. linux服务器安全
  3. cdn加速怎么样刷新文件
  4. 部署了OpenStack就拥有了云平台?还差很远呢
  5. time_t和字符串间的转化
  6. DSS转发中sdp文件的简化
  7. 文件系统与数据库的优缺点
  8. 基于第三方开源库的OPC服务器开发指南(2)——LightOPC的编译及部署
  9. tarjan求强连通分量的思考
  10. [笔记]C#基础入门(五)——算法:交换