参考:http://blog.csdn.net/lifushan123/article/details/44948135

1、查询出科目成绩都大于80分的学生的名字?

drop table if EXISTS tmp_1;
create table tmp_1
(`Id` INT NOT NULL AUTO_INCREMENT,
name varchar(10),
subject varchar(10),
score int,
PRIMARY KEY(`Id`)); insert into tmp_1 (name,subject,score) values ('李云龙','语文',79);
insert into tmp_1 (name,subject,score) values ('李云龙','数学',81);
insert into tmp_1 (name,subject,score) values ('楚云飞','语文',81);
insert into tmp_1 (name,subject,score) values ('楚云飞','数学',89);
insert into tmp_1 (name,subject,score) values ('张大彪','语文',79);
insert into tmp_1 (name,subject,score) values ('张大彪','数学',90);

-- 虽然瞟一眼就知道答案是楚云飞,但是我们要通过sql求出结果

select name
from tmp_1
group by name
having sum(score > 80) > 1; 或者 select a.name
from tmp_1 a
left join tmp_1 b on b.name = a.name
where a.score > 80 and b.score > 80 and a.subject != b.subject
group by a.name;

2、查询出每个科目的第一名的学生的学科、姓名、分数[依次是数学、语文]?;

select a.subject,name ,max_score
from tmp_1 a
left join (select subject,max(score) max_score from tmp_1 group by subject) b on a.score=b.max_score
where a.subject=b.`subject`
order by
case when a.subject='数学' then 1
when a.subject='语文' then 2 else 3 end ;

3、查询出总成绩排名,字段为姓名和分数,降序展示?;

select name,sum(score)
from tmp_1
group by NAME
order by sum(score) desc;

【mysql经典题目】科目成绩都大于80分\每个科目的第一名\总成绩排名的更多相关文章

  1. [关于SQL]查询成绩都大于80分的学生

    1.用一条SQL语句 查询出每门课都大于80分的学生姓名name kecheng fenshu张三 语文 81张三 数学 75李四 语文 76李四 数学 90王五 语文 81王五 数学 100王五 英 ...

  2. 案例2:用一条SQL查询出数学语文成绩都大于80分的学生姓名?

    方法1: 查出科目成绩有小于80分的学生姓名,再约束并去重学生不等于查出来的姓名 select distinct A.name from t_score A where A.name not in(s ...

  3. 一个SQL查询出每门课程的成绩都大于80的学生姓名

    name   kecheng    fenshu 张三     语文     81 张三     数学     75 李四     语文     76 李四     数学     90 王五     ...

  4. T-SQL - 习题01_查询每门课都大于80分的学生姓名

    时间:2017-09-11 整理:byzqy 题目:用一条SQL语句查询出每门课都大于80分的学生姓名. 最近面试C#开发工程师,碰到上面这个考数据库的题目,自己感觉有点难度,没有思路,现将找到的解决 ...

  5. 用一条SQL语句查出每门课都大于80分的学生的姓名

    用一条SQL语句查出每门课都大于80分的学生的姓名,数据表结构如下: 建表SQL如下: ; -- ---------------------------- -- Table structure for ...

  6. SQL查询出每门课都大于80 分的学生姓名

    Course表如下: 查询出每门课都大于80 分的学生姓名有两种方法. 1.select  distinct name from Course where name not in (select di ...

  7. mysql 经典题目

    题目1:实现如下效果 CREATE TABLE IF NOT EXISTS tb_amount( `Id` INT NOT NULL AUTO_INCREMENT, `), `), `Amount` ...

  8. 【mysql经典题目】行转列

    参考:http://www.cnblogs.com/h07061108/p/mysql_questions.html#3806338 实现如下效果 CREATE TABLE IF NOT EXISTS ...

  9. mysql面试题目1

    有这样一个成绩表,学生A,B,C,三个人,考试科目分别为C(chinese),M(math),E(english) 求三门课成绩都大于80分的那个学生姓名: 即查询的方法可分为俩种:select na ...

随机推荐

  1. Django重定向的写法、与直接渲染的区别

    Django重定向的写法.与直接渲染的区别 return redirect (“login”)     #重定向到login页面,状态码是302页面重定向和直接渲染新的页面的区别.重定向实际是指向了另 ...

  2. ethereumjs/ethereumjs-vm-5-vm对象

    1.运行文件 var Buffer = require('safe-buffer').Buffer // use for Node.js <4.5.0 var VM = require('./i ...

  3. ASP.Net GridView 基础 绑定字段

    通过以前的学习,我们实现了效果如下: 现在我想修改显示/隐藏部分列,有两种做法: 一.在配置数据源的时候不是有查询哪些字段的吗,去除不需要的字段,重新绑定. 二.就是直接编辑列 下面是分析每种字段类型 ...

  4. PAT——1039. 到底买不买

    小红想买些珠子做一串自己喜欢的珠串.卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖.于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子 ...

  5. oracle11g之Oracle体系结构(理论基础知识)

    第二章 oracle的体系结构 一.oracle体系结构概述1.实例和数据库组成完整的Oracle数据库系统数据库:一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等)实例:一组oracl ...

  6. HDU 3790(两种权值的迪杰斯特拉算法)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=3790 最短路径问题 Time Limit: 2000/1000 MS (Java/Others)    ...

  7. 用jQuery编写简单九宫格抽奖

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 3.Spring Cloud初相识--------Ribbon客户端负载均衡

    前言: 在生产环境中,未避免单点故障,每个微服务都会做高可用部署. 通白的说,就是每一个一模一样的服务会根据需求提供多分在多台机器上. 那么在大并发的情况下,如何分配服务可以快速得到响应,就成为了我们 ...

  9. TopJUI Combobox onSelect 事件失效BUG

    版本:2.2.8 onChange : function(b, c) 两个参数:当前选择后在Combobox中显示的数据,实际是textField:另一个是改变前的数据 onSelect : func ...

  10. jq写无缝轮播

    今天分享一下我自己早几天写的一个效果:无缝轮播,虽然不难,很简单,也没有封装处理过,但是还是希望能帮到一些前端的小伙伴吧,如果有小伙伴感觉有更简化的写法希望可以一起交流一下,技术在于交流嘛,我的邮箱是 ...