精华内容
下载资源
问答
  • mysql查询所有学生各科成绩按照总成绩降序排列

    万次阅读 多人点赞 2018-12-09 17:49:26
    查询所有学生各科成绩按照总成绩降序排列。 1.获取单门课程的学生成绩 select sc.stu_id,sc.score from score sc where sc.subject_id=1001 2.获取所有学生的总成绩 select sc.stu_id,sum(sc.sco...

    学生表student

    学生表

    班级表class

    班级表

    课程表subject

    成绩表score

    查询所有学生各科成绩按照总成绩降序排列。

    1.获取单门课程的学生成绩

    select sc.stu_id,sc.score from score sc where sc.subject_id=1001

    2.获取所有学生的总成绩

    select sc.stu_id,sum(sc.score) sumscore from score sc group by sc.stu_id

    3.一共有三门课程,分别获取这三门课程的学生成绩表然后和学生总成绩表联合按总成绩进行降序排列得到一张新表

    select a1.stu_id,a1.score 'Java编程',a2.score '应用统计学',a3.score '数据库',b.sumscore '总成绩' from
    (select sc.stu_id,sc.score from score sc where sc.subject_id=1001) a1
    left join
    (select sc.stu_id,sc.score from score sc where sc.subject_id=1002) a2
    on a1.stu_id = a2.stu_id left join
    (select sc.stu_id,sc.score from score sc where sc.subject_id=1003) a3
    on a3.stu_id = a2.stu_id left join
    (select sc.stu_id,sum(sc.score) sumscore from score sc group by sc.stu_id) b
    on a3.stu_id = b.stu_id 
    order by b.sumscore desc

     

    4.和学生表联合查询得到学生姓名

    select stu.name,c.Java编程,c.应用统计学,c.数据库,c.总成绩 from
    (
    select a1.stu_id,a1.score 'Java编程',a2.score '应用统计学',a3.score '数据库',b.sumscore '总成绩' from
    (select sc.stu_id,sc.score from score sc where sc.subject_id=1001) a1
    left join
    (select sc.stu_id,sc.score from score sc where sc.subject_id=1002) a2
    on a1.stu_id = a2.stu_id left join
    (select sc.stu_id,sc.score from score sc where sc.subject_id=1003) a3
    on a3.stu_id = a2.stu_id left join
    (select sc.stu_id,sum(sc.score) sumscore from score sc group by sc.stu_id) b
    on a3.stu_id = b.stu_id order by b.sumscore desc
    ) c
    left join student stu on stu.id = c.stu_id;
    

    得到题目要求的结果。

     

    展开全文
  • 二次排序: 依次按照多个条件进行排序 MapReduce 的所有排序都是针对 key 进行的,通常 key 只包含一列数据, ...学生信息按照语文成绩降序排列,如果语文成绩相同,按照数学成绩降序排列 自定义 key 类型包含语...

    学生成绩参考:https://pan.baidu.com/s/1h8IhPwLaAv39N7yOH-Gv8g

    二次排序:
    依次按照多个条件进行排序
    MapReduce 的所有排序都是针对 key 进行的,通常 key 只包含一列数据,
    如果想让 key 包含多列数据,通常会自定义 key 实现

    学生信息按照语文成绩降序排列,如果语文成绩相同,按照数学成绩降序排列
        自定义 key 类型包含语文成绩和数学成绩两列的值
            1. 创建类实现 WritableComparable 接口
            2. 泛型设置为自定义 key 的类型
            3. 声明需要包含的列为属性,并生成 getter && setter 方法
            4. 实现接口中的 3 个方法
                write:
                    按照属性的声明顺序依次输出
                readFields:
                    按照属性的声明顺序依次读取
                compareTo:
                    设置排序规则:
                        返回 0   按照 ab 排序
                        返回 1   按照 ba 排序
                        返回 -1  按照 ab 排序 
    
    学生信息按照总成绩降序排列,
        如果总成绩相同,按照语文成绩降序排列,
        如果语文成绩相同,按照数学成绩降序排列
    
    package com.it666.student;
    
    import java.io.DataInput;
    import java.io.DataOutput;
    import java.io.IOException;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.FileSystem;
    import org.apache.hadoop.fs.Path;
    import org.apache.hadoop.io.LongWritable;
    import org.apache.hadoop.io.NullWritable;
    import org.apache.hadoop.io.Text;
    import org.apache.hadoop.io.WritableComparable;
    import org.apache.hadoop.mapreduce.Job;
    import org.apache.hadoop.mapreduce.Mapper;
    import org.apache.hadoop.mapreduce.Reducer;
    import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
    import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
    
    /**
     * @author 吴振峰
     *					编程夜当午,手握小滑鼠。
     *					谁知编程辛,行行皆'心'苦。
     */
    
    public class Core4 {
    	
    	private static class ScoreA4Key implements WritableComparable<ScoreA4Key>{
    		
    		private Integer yuwen;		//语文成绩
    		private Integer shuxue;		//数学成绩
    		
    		//set get
    		public Integer getYuwen() {
    			return yuwen;
    		}
    		public void setYuwen(Integer yuwen) {
    			this.yuwen = yuwen;
    		}
    		public Integer getShuxue() {
    			return shuxue;
    		}
    		public void setShuxue(Integer shuxue) {
    			this.shuxue = shuxue;
    		}
    		
    		@Override
    		public void write(DataOutput out) throws IOException {
    			out.writeInt(yuwen);
    			out.writeInt(shuxue);
    		}
    		@Override
    		public void readFields(DataInput in) throws IOException {
    			yuwen = in.readInt();
    			shuxue = in.readInt();
    		}
    		@Override
    		public int compareTo(ScoreA4Key o) {
    			
    			//拿this 和 o 进行比较   作为排序规则
    			//this == a   o == b
    			if (this.getYuwen() == o.getYuwen()) {
    				//语文成绩相同,按照数学成绩排序
    				if (this.getShuxue() == o.getShuxue()) {
    					return 0;
    				}else if(this.getShuxue() > o.getShuxue()) {
    					return -1;
    				}else {
    					return 1;
    				}
    			}else if(this.getYuwen() > o.getYuwen()) {
    				return -1;
    			}else {
    				return 1;
    			}
    		}	
    	}
    	
    	private static class ScoreA4Mapper extends Mapper<LongWritable, Text, ScoreA4Key, Text>{
    		
    		private ScoreA4Key outputkey = new ScoreA4Key();
    		private Text outputvalue = new Text();
    		
    		@Override
    		protected void map(LongWritable key, Text value, Mapper<LongWritable, Text, ScoreA4Key, Text>.Context context)
    				throws IOException, InterruptedException {
    			
    			String line = value.toString();
    			String[] words = line.split("\\s+");
    			
    			String name = words[0];
    			Integer yuwen = Integer.parseInt(words[1]);
    			Integer shuxue = Integer.parseInt(words[2]);
    			
    			//以语文数学成绩为 key ,名字 value 进行输出
    			outputkey.setYuwen(yuwen);
    			outputkey.setShuxue(shuxue);
    			
    			outputvalue.set(name);
    			
    			context.write(outputkey, outputvalue);
    			
    		}
    	}
    	
    	private static class ScoreA4Reducer extends Reducer<ScoreA4Key, Text, Text, NullWritable>{
    		private Text outputkey = new Text();
    
    		@Override
    		protected void reduce(ScoreA4Key key, Iterable<Text> values,
    				Reducer<ScoreA4Key, Text, Text, NullWritable>.Context context) throws IOException, InterruptedException {
    			
    			for (Text name : values) {
    				outputkey.set(name.toString() + "\t\t" + key.getYuwen() +"\t" + key.getShuxue());
    				context.write(outputkey, NullWritable.get());
    			}
    		}
    	}
    	
    	public static void main(String[] args) {
    		
    		Configuration conf = new Configuration();
    		
    		try {
    			Job job = Job.getInstance(conf);
    			
    			job.setJarByClass(Core4.class);
    			
    			job.setMapperClass(ScoreA4Mapper.class);
    			job.setReducerClass(ScoreA4Reducer.class);
    			
    			job.setMapOutputKeyClass(ScoreA4Key.class);
    			job.setMapOutputValueClass(Text.class);
    			
    			job.setOutputKeyClass(Text.class);
    			job.setOutputValueClass(NullWritable.class);
    			
    			Path inputPath = new Path("E:/java/MavenHadoopData/04-Students Grade/scoreB.txt");
    			FileInputFormat.addInputPath(job, inputPath);
    			
    			Path outputPath = new Path("E:/java/MavenHadoopData/04-Students Grade/scoreA4");
    			FileSystem.get(conf).delete(outputPath, true);
    			FileOutputFormat.setOutputPath(job, outputPath);
    			
    			job.waitForCompletion(true);
    			
    		} catch (IOException e) {
    			e.printStackTrace();
    		} catch (ClassNotFoundException e) {
    			e.printStackTrace();
    		} catch (InterruptedException e) {
    			e.printStackTrace();
    		}
    		
    	}
    	
    }
    
    
    
    展开全文
  • #include#defineN10intsum(intscore[])//计算总分{inti;ints=0;for(i=0;i{s+=score[i];}returns;}intva(intscore[])//计算平均分{return(sum(score)+0.0)/N;}voiddes(intscore[])//降序排列{inti,j;for(i...

    #include 

    #define N 10

    int sum(int score[])  //计算总分

    {

    int i;

    int s = 0;

    for(i=0; i

    {

    s += score[i];

    }

    return s;

    }

    int va(int score[])  //计算平均分

    {

    return (sum(score)+0.0)/N;

    }

    void des(int score[]) //降序排列

    {

    int i,j;

    for(i=N-2;i>=0;i--)

    {

    for(j=0;j<=i;j++)

    {

    if(score[j]

    {

    int temp;

    temp = score[j];

    score[j] = score[j+1];

    score[j+1] = temp;

    }

    }

    }

    for(i=0;i

    {

    if(i != 9)

    printf("%d, ", score[i]);

    else

    printf("%d", score[i]);

    }

    printf("\n");

    }

    int max(int score[]) //最大值

    {

    int j,m;

    for(j=0;j<=N-2;j++)

    {

    if(score[j]>score[j+1])

    {

    score[j+1] = score[j];

    m = score[j+1];

    }

    }

    return m;

    }

    int min(int score[]) //最小值

    {

    int j,n;

    for(j=0;j<=N-2;j++)

    {

    if(score[j]

    {

    score[j+1] = score[j];

    n = score[j+1];

    }

    }

    return n;

    }

    int main()

    {

    int score[N]={67,98,75,63,82,79,81,91,66,84};

    int i,s,v,mx,mn;

    s = sum(score);

    v = va(score);

    mx = max(score);

    mn = min(score);

    printf("考试总分:%d\n",s);

    printf("考试平均分:%d\n",v);

    printf("考试成绩最高分:%d\n",mx);

    printf("考试成绩最低分:%d\n",mn);

    printf("考试成绩降序排列:\n");

    des(score);

    }

    ff5d6fa6455ff5ac44a50bc4bf455bdc.png

    展开全文
  • 学生信息系统

    2017-12-27 09:21:37
    This is just a personal opinion, I hope it is useful, of course, it is just a very simple part, suitable for beginners, this is for reference only! And I hope we can learn experience here, why do you ...
  • C语言链表实验题.doc

    2021-05-24 05:00:15
    学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:按分数降序排列学生的记录,高分在前,低分在后。#include #define N 16typedef struct{ char num[10];int s;} ...

    等级考试

    1.学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:按分数降序排列学生的记录,高分在前,低分在后。

    #include

    #define N 16

    typedef struct

    { char num[10];

    int s;

    } STREC;

    void fun( STREC a[] )

    {

    }

    main()

    { STREC s[N]={{"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},

    {"GA001",91},{"GA007",72},{"GA008",64},{"GA006",87},

    {"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},

    {"GA011",66},{"GA017",64},{"GA018",64},{"GA016",72}};

    int i;FILE *out ;

    fun( s );

    printf("The data after sorted :\n");

    for(i=0;i

    { if( (i)%4==0 )printf("\n");

    printf("%s %4d ",s[i].num,s[i].s);

    }

    printf("\n");

    out = fopen("out.dat","w") ;

    for(i=0;i

    { if( (i)%4==0 && i) fprintf(out, "\n");

    fprintf(out, "%4d ",s[i].s);

    }

    fprintf(out,"\n");

    fclose(out) ;

    }

    2. 在下列给定程序中,函数fun的功能是,计算一个带头结点的单链表中各结点的数据域中数值之和,结果作为函数值返回。

    请在下划线处填入正确的内容并将下划线删除。

    #include

    #include

    #define N 8

    typedef struct list

    { int data;

    struct list *next;

    } SLIST;

    SLIST *creatlist(int *);

    void outlist(SLIST *);

    int fun( SLIST *h)

    { SLIST *p; int s=0;

    p=h->next;

    while(p)

    {

    /**********found**********/

    s+= p->___1___;

    /**********found**********/

    p=p->___2___;

    }

    return s;

    }

    main()

    { SLIST *head;

    int a[N]={12,87,45,32,91,16,20,48};

    head=creatlist(a); outlist(head);

    /**********found**********/

    printf("\nsum=%d\n", fun(___3___));

    }

    SLIST *creatlist(int a[])

    { SLIST *h,*p,*q; int i;

    h=p=(SLIST *)malloc(sizeof(SLIST));

    for(i=0; i

    { q=(SLIST *)malloc(sizeof(SLIST));

    q->data=a[i]; p->next=q; p=q;

    }

    p->next=0;

    return h;

    }

    void outlist(SLIST *h)

    { SLIST *p;

    p=h->next;

    if (p==NULL) printf("The list is NULL!\n");

    else

    { printf("\nHead ");

    do

    { printf("->%d", p->data); p=p->next; }

    while(p!=NULL);

    printf("->End\n");

    }

    }

    3. 学生的记录由学号成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:函数返回该学号的学生数据,

    展开全文
  • 显示学生姓名及成绩降序排列

    千次阅读 2019-10-01 04:02:51
    显示学生姓名及成绩降序排列 代码如下: package Day05; import java.util.Scanner; public class TestStudent { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System....
  • System.out.println(“排序后(姓名,总分,名次)”); int index = 0; for (int i = 0; i (); i++) { Student p = students.get(i); if(i == 0 || p.sum() > students.get(i-1).sum()){ index ++ ; } System.out....
  • C语言结构体排序问题

    2021-05-22 06:13:33
    /*排列后有序链的表头指针*/ struct student *tail; /*排列后有序链的表尾指针*/ struct student *p_min; /*保留键值更小的节点的前驱节点的指针*/ struct student *min; /*存储最小节点*/ struct student *p; /*...
  • 问题详情怎么从mysql按某一字段降序排列后取出有并列数据的记录?想要求出学号为202开头的学生总分前N名的语文平均分。但是以下php语句查询后,$num取总分前7名的时候,显示出来的学号明显不对。请问:这个错在哪里...
  • 练习.按学号的升序和降序排列;按姓名的升序和降序排序,按年龄的升序和降序排列。  Student *stu1 = [Student studentWithName:@"xiaoguo"  withSex:@"女"  wi
  • 降序排列

    2015-10-11 17:27:48
    按每一个学生的成绩总分(数学,语文,英语之和)降序排序,若总分相同,按照数学成绩排序,若总分和数学成绩相同,按照语文成绩降序排序,再按照英语成绩降序排序,选出排名前50名的学生学号。。。。。。 struct ...
  • 怎样用升序降序给EXCEL排名

    千次阅读 2021-07-08 03:03:35
    怎样用升序降序给EXCEL排名(2008-12-14 16:35:01)标签:电脑单元格数据清单h2if教育在用Excel制作相关的数据表格时,我们可以利用其强大的排序功能,浏览、查询、统计相关的数字。下面,我们以图1所示的“员工基本...
  • 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...
  • // 总分 RandomAccessFile f=new RandomAccessFile("data.txt","rw"); System.out.print("请输入学生的个数: "); int n=scanner.nextInt(); int s[]=new int[n]; for(int i=0;i { System.out.println("请...
  • 键盘录入学生信息(姓名,语文/数学/英语成绩),按照总分降序排序后,写入文件中 1.定义学生类 2.创建集合,通过比较器进行排序 3.键盘录入学生数据 4.创建学生对象,将录入的数据赋值给对应的学生属性 5.把学生...
  • 要求自定义 以下函数 (1)功能函数 void sort(int score ,int n)对存储有 n 个学生成绩的 score 数组按成 绩降序排序。 (2)主函数调用上述函数完成功能,并输出排序后的结果。 七七字符串字符串6 27、 将一个...
  • 满意答案yanii11112013.05.03采纳率:51%等级:11已帮助:7146人#include"string.h"#define M 10 /*10个学生*/#define N 3main(){int i,j; /*t的精度不够高 必须为float型*/float t;float total=0;...
  • 键盘录入5个学生成绩信息(姓名,语文成绩,数学成绩,英语成绩),按照总分降序输出 package temp; public class StudentGrade { private String name; //姓名 private int chinese; //语文成绩 private int ...
  • python实现n个学生的3门成绩总分排序,平均分

    千次阅读 多人点赞 2020-10-15 00:48:50
    按学生的总分降序显示学生的信息,并输出每门功课的平均分 ''' print("请输入一共多少个学生: ",end="") n = int(input()) #创建二维数组 a =[[]for i in range(n)] b =[[]for i in range(n)] c =[[]for i in range...
  • AS 前端, CAST( AVG( score ) AS DECIMAL ( 10, 2 )) AS 平均分, SUM( score ) AS 总分 FROM student s LEFT JOIN student_socre ss ON s.student_id = ss.student_id GROUP BY s.student_id 效果:
  • 利用Qt读取xml文件,一种是debug下的xml文件,一种是任意文件夹下的xml文件,并用tableWidget和tableView两种方式读取。这里的xml文件是学生成绩,所以还完成了平均分,总分降序排列的操作。
  • 按照薪水降序排列 select empno,ename,deptno,job,sal from emp order by sal desc 查询所有员工信息,按照部门降序排列,部门内按照薪水升序排列 select * from emp order by deptno desc ,sal asc 查询姓名中包含...
  • 并按平均成绩降序排列 select sn,avg(gr) as '平均分' from sc,s where ( sc.s# in(select s# from sc where 'c1' not in(select c# from sc where s.s#=sc.s#) group by s# having count(c#)=2 ) and s.s#=sc.s# ) ...
  • java实现从键盘上输入学生成绩,求总分、平均分、最高分、最低分,并升序排列、降序排列 用数组存储成绩 1、录入,求总分、平均分 2、求最高分、最低分 —打擂台,胜了,站擂台 3、排序(升序、降序) —...
  • 凭借总分求函数的降序排列 #include <iostream> #include <cstdlib> #include <string> const int number = 5; using namespace std; typedef struct Date {  string name;  int English; ...
  • 要求编写5个函数,分别实现计算考试的总分,最高分,最低分,平均分和考试成绩降序排序。 #include <stdio.h> #include <stdlib.h> #define N 10 int cmp(const void *a,const void *b) { return *...
  • 与其立即写出数据,不如将数据作为元组附加到列表中,然后对该列表进行排序。然后写出数据。在重新实现阅读循环以创建该列表:entries = []with open ('class1.txt', 'r') as f:for line in f:row = line.split()if ...
  • matlab主成分分析

    2021-04-25 13:11:42
    %对特征值按降序排列 end for i=1:b DS(i,2)=DS(i,1)/sum(DS(:,1));%贡献率 DS(i,3)=sum(DS(1:i,1))/sum(DS(:,1));%累计贡献率 end % % 选择主成分及对应的特征向量 T=0.9;%主成分信息保留率 for k=1:b if DS(k,3)>=...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,704
精华内容 1,881
关键字:

总分降序排列