企业笔试Mysql真题持续分享|点个关注

学员出去面试遇到的真题,分享给大家

图片

CREATE TABLE `stuscore` (  `name` varchar(255) DEFAULT NULL,  `subject` varchar(255) DEFAULT NULL,  `score` int(255) DEFAULT NULL,  `stuid` int(11) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;


insert into dbo.stuscore values('张三','数学' ,89,1);insert into dbo .stuscore values('张三','语文',80,1);insert into dbo.stuscore values('张三','英语',70,1);insert into dbo.stuscore values('李四','数学',90,2);insert into dbo.stuscore values ('李四','语文',70,2);insert into dbo.stuscore values ('李四','英语',80,2);

题目是:

  1. 计算每个人的总成绩并排名(要求显示字段: 学号,姓名,总成绩)

  2. 列出各门课程成绩最好的学生(要求显示字段: 学号,姓名,科目,成绩)

参考答案:

SELECT  stuid,  NAME,  sum( score ) FROM  dbo.stuscore GROUP BY  stuid,NAME ORDER BY  sum( score ) DESC;

图片

SELECT  a.stuid,  a.NAME,  a.SUBJECT,  a.score FROM  dbo.stuscore a  INNER JOIN ( SELECT SUBJECT, max( score ) AS max_s FROM dbo.stuscore GROUP BY SUBJECT ) b ON a.SUBJECT = b.SUBJECT   AND a.score = b.max_s;

图片

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值