笔试题:SQL统计各班成绩第一名的学生信息

题目:统计各班成绩第一名的学生信息,数据信息如下图。

建表t_stu_score:

-- ----------------------------
-- Table structure for t_stu_score
-- ----------------------------
DROP TABLE IF EXISTS `t_stu_score`;
CREATE TABLE `t_stu_score` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `stu_name` varchar(255) DEFAULT NULL,
  `class_id` int(11) DEFAULT NULL,
  `score` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of t_stu_score
-- ----------------------------
INSERT INTO `t_stu_score` VALUES ('1', '路飞', '1', '90');
INSERT INTO `t_stu_score` VALUES ('2', '乔巴', '1', '85');
INSERT INTO `t_stu_score` VALUES ('3', '索隆', '1', '88');
INSERT INTO `t_stu_score` VALUES ('4', '鹰眼', '1', '96');
INSERT INTO `t_stu_score` VALUES ('5', '小新', '2', '66');
INSERT INTO `t_stu_score` VALUES ('6', '风间', '2', '92');
INSERT INTO `t_stu_score` VALUES ('7', '阿呆', '2', '81');
INSERT INTO `t_stu_score` VALUES ('8', '漩涡鸣人', '3', '88');
INSERT INTO `t_stu_score` VALUES ('9', '卡卡西', '3', '93');
INSERT INTO `t_stu_score` VALUES ('10', '我爱罗', '3', '86');
INSERT INTO `t_stu_score` VALUES ('11', '宇智波佐助', '3', '90');
INSERT INTO `t_stu_score` VALUES ('12', '大蛇丸', '3', '94');
INSERT INTO `t_stu_score` VALUES ('13', '宇智波鼬', '3', '94');


SQL语句及查询结果如下:

SELECT
	*
FROM
	t_stu_score a
WHERE
	a.score IN (
		SELECT
			MAX(score)
		FROM
			t_stu_score b
		WHERE
			a.class_id = b.class_id
		ORDER BY
			score DESC
	)

结果如下:

 

 

/**---- select * from KuChun select * from Sell select sum(SellNum)as Sumd,SellID,ProductType from Sell group by SellID,ProductType select * from KuChun t1 left join (select SellID, sum(sellnum)as snum,ProductType from Sell group by SellID,ProductType)t2 on t1.ShopID=t2.SellID and t1.ProductType=t2.ProductType order by t1.ShopID SELECT T1.SHOPID, T1.PRODUCTTYPE, T1.KNUM, (select ISNULL(sum(t2.sellnum),0) from Sell t2 where t2.sellid = t1.shopid and t2.producttype= t1.productType) sumsell FROM KuChun T1 order by t1.shopid; select T1.SHOPID, T1.PRODUCTTYPE, T1.KNUM, ISNULL(sum(t2.sellnum),0) sellnum from KuChun t1 left join Sell t2 on t2.sellid = t1.shopid and t2.producttype= t1.productType group by T1.SHOPID, T1.PRODUCTTYPE, T1.KNUM order by t1.shopid; select T1.SHOPID, T1.PRODUCTTYPE, sum(T1.KNUM) knum, ISNULL(sum(t2.sellnum),0) sellnum from KuChun t1 left join Sell t2 on t2.sellid = t1.shopid and t2.producttype= t1.productType group by T1.SHOPID, T1.PRODUCTTYPE order by t1.shopid; select c.*,a.s_score as '01课程 score',b.s_score as '02课程 score' from score a,score b left join student c on b.s_id = c.s_id where a.s_id = b.s_id and a.c_id = '01' and b.c_id = '02' and a.s_score > b.s_score; **/ ---ALTER TABLE KuChun ALTER COLUMN Knum int; select * from student t2 select * from Course t3 select * from Teacher t4 select * from Score t1 -- 50、查询下月过生日的学生 select * from( select ss.* ,datename(mm,ss.s_birth) as wk,datename(mm,getdate()) as wk1 from Student ss )tt where tt.wk=tt.wk1+1 -- 49、查询本月过生日的学生 select ss.*,datename(mm,ss.s_birth) from Student ss where datename(mm,getdate())=datename(mm,ss.s_birth) -- 48、查询下周过生日的学生 select * from( select ss.*,datename(wk,ss.s_birth)as'周数', cast( datename(wk,ss.s_birth) as decimal)- datename(wk,getdate()) as wk from Student ss )tt where tt.wk=1 -- 47、查询本周过生日的学生 select ss.* from Student ss where datename(wk,ss.s_birth)=datename(wk,get
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值