Mysql求今天每个年级最早来学校的学生信息

求今天每个班级最早来学校的学生信息

-- 年级表
create table `grade`(
	`id` int(11) not null AUTO_INCREMENT COMMENT '主键',
	`grade_id` int(11) COMMENT '年级',
	`grade_name` int(11) COMMENT '年级名称',
	PRIMARY KEY(`id`) USING BTREE
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 ROW_FORMAT_DYNAMIC;

-- 学生签到表
create table `student_sign`(
	`id` int(11) not null AUTO_INCREMENT COMMENT '主键',
	`student_id` int(11) COMMENT '学号',
	`student_name` varchar(50) COMMENT '姓名',
	`status` varchar(5) COMMENT '状态,0-签到,1-签退',
	`grade_id` int(11) COMMENT '年级',
	`create_time` datetime  DEFAULT NULL COMMENT '签到时间',
	PRIMARY KEY(`id`) USING BTREE
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 ROW_FORMAT_DYNAMIC;

解决方案,先联表查询,按时间排序后,再子查询,取最早时间的各个年级的学生信息

select ss.student_name, g.grade_name from (
select * from student_sign ss join grade g
on ss.grade_id = g.grade.id
where a.status =0order by a.create_time aesc limit 999999
) c
group by g.grade.id;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值