所有数学课程成绩 大于 语文课程成绩的学生的学号

CREATE TABLE course (
id int,
sid int ,
course string,
score int
) ;

// 插入数据
// 字段解释:id, 学号, 课程, 成绩
INSERT INTO course VALUES (1, 1, ‘yuwen‘, 43);
INSERT INTO course VALUES (2, 1, ‘shuxue‘, 55);
INSERT INTO course VALUES (3, 2, ‘yuwen‘, 77);
INSERT INTO course VALUES (4, 2, ‘shuxue‘, 88);
INSERT INTO course VALUES (5, 3, ‘yuwen‘, 98);
INSERT INTO course VALUES (6, 3, ‘shuxue‘, 65);

求:所有数学课程成绩 大于 语文课程成绩的学生的学号

select sid,case when course="yuwen" then score else 0 end as yuwen,
case when course="shuxue" then score else 0 end as shuxue
from course;

1 43 0
1 0 55
2 77 0
2 0 88
3 98 0
3 0 65
select tmp.sid,Max(tmp.yuwen) as yuwen,max(tmp.shuxue) as shuxue
from(
select sid,case when course="yuwen" then score else 0 end as yuwen,
case when course="shuxue" then score else 0 end as shuxue
from course
) tmp
group by tmp.sid;

1 43 55
2 77 88
3 98 65
select stmp.sid
from (
select tmp.sid,Max(tmp.yuwen) as yuwen,max(tmp.shuxue) as shuxue
from(
select sid,case when course="yuwen" then score else 0 end as yuwen,
case when course="shuxue" then score else 0 end as shuxue
from course
) tmp
group by tmp.sid
) stmp where stmp.shuxue > stmp.yuwen;

原文地址:http://blog.51cto.com/6000734/2321019

时间: 2024-07-29 23:20:13

所有数学课程成绩 大于 语文课程成绩的学生的学号的相关文章

【c语言】有50个学生,要求输出成绩在80分以上的学生的学号和成绩

// 有50个学生,要求输出成绩在80分以上的学生的学号和成绩 // 为输入简单定为5个学生啊 #include <stdio.h> int main() { int i; int arr[5]; printf("请输入一批成绩:\n"); for( i = 0; i < 5; i++ ) { scanf("%d",&arr[i]); if( arr[i] >= 80 ) { printf("学号:%d 成绩:%d &quo

【sql: 联系题26 ,27】查询平均成绩大于等于 85 的所有学生的学号、姓名和平均成绩,查询课程名称为「数学」,且分数低于 60 的学生姓名和分数

题目:26:查询平均成绩大于等于 85 的所有学生的学号.姓名和平均成绩 分析:这个应该是根据student 进行分组 group by 再根据 having >= 85 进行过滤,然后在关联student 信息表,拿到学生的基本信息 SELECT student.id, student.stdentname,AVG(student_score.score) AS a FROM student_score, studentWHERE student.id = student_score.stud

键盘录入多名学生的信息: 格式:姓名,数学成绩,语文成绩,英文成绩,按总分由高到低 将学生的信息进行排列到文件中

主函数类: package cn.io; import java.io.File; import java.io.IOException; import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.Set; public class iosort { /** * @param args * @throws IOException */ /* *

- 查询“生物”课程比“物理”课程成绩高的所有学生的学号;

-- 查询“生物”课程比“物理”课程成绩高的所有学生的学号: -- 方法一 select * from score a LEFT JOIN course b on a.course_id = b.cid where b.cname='生物' select * from score a LEFT JOIN course b on a.course_id = b.cid where b.cname='物理' SELECT c.student_id,c.num,d.num from (select a

第二次实验判断成绩等级。 给定一百分制成绩,要求输出成绩的等级。90以上为A,80-89为B,70-79为C,60-69为D,60分以下为E,输入大于100或小于0时输出“输入数据错误”。 分别用if和用switch语句实现判断成绩等级。 给定一百分制成绩,要求输出成绩的等级。90以上为A,80-89为B,70-79为C,60-69为D,60分以下为E,输入大于100或小于0时输出“输入数据错误”

一:实验内容:1:判断成绩等级. 给定一百分制成绩,要求输出成绩的等级.90以上为A,80-89为B,70-79为C,60-69为D,60分以下为E,输入大于100或小于0时输出“输入数据错误”. 分别用if和用switch语句实现 #include <stdio.h> int main() { int grade; scanf("%d",&grade); if(grade>100||grade<0) { printf("数据错误")

义务教育语文课程标准(2011 年版)

义务教育语文课程标准(2011 年版),是 2012 年出版的一本书,由中华人民共和国教育部制定. 在这里,你可以看到这本书封面的样子.这本书只有 80 面.40 页,很薄:定价 9 块钱. 顾名思义,这本书是为义务教育阶段.语文这门课程制定的标准.这个标准是给义务教育阶段一个方向:怎样教学生?怎样编教材?可以用哪些资源?要达到的标准是什么样子的? 义务教育阶段是指从小学一年级到初中三年级,也就是从一年级到九年级. 义务教育,是根据<宪法>规定,适龄儿童和青少年都必须接受,国家.社会和家庭都必

普通高中课程方案和语文等学科课程标准(2017年版)----分析及教育部官网网址

我主要关注:高中信息技术.通用技术方面的课标.下面就把我的体会总结一下,便于后续教研. 高中信息技术        高中通用技术 其中: 技术与生活系列 技术与工程系列 技术与职业系列 技术与创造系列 1.现代家政技术 4.工程设计基础 8 职业技术基础 能源方面的 9创造力开发与技术发明 2.服装及其设计 5.电子控制技术 10 产品三维设计与制造 (如3D打印相关 3.智能家居应用设计 6.机器人设计与制作 11 科技人文融合创新(steam等 更多内容请关注:官网 普通高中课程方案和语文等

第十四周 【项目2-用文件保存的学生名单】若干名学生的学号 姓名和C++课、高数和英语成绩

运行代码: /* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:d.cpp *作 者:张旺华 *完成日期:2015年6月3日 *版 本 号:v1.0 */ /* *[项目2-用文件保存的学生名单] * 文件score.dat中保存的是若干名学生的学号 姓名和C++课.高数和英语成绩. */ #include <fstream> #include<iostream> #include<string&g

rwkj 1295 选择结构7(成绩转换)------nyist 98 成绩转换

1295 C语言:选择结构7(成绩转换)时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte总提交:901 测试通过:593 描述 给出一百分制成绩,要求输出成绩等级‘A’.‘B’.‘C’.‘D’.‘E’. 90分以上为A, 80-89分为B, 70-79分为C, 60-69分为D, 60分以下为E . 将下面的程序填写完整. #include <stdio.h>int main(){ int x; while(scanf("%d",&