mysql两表联合排序_mysql多个表联合排序

更新时间:2023-05-31 08:27:51 阅读: 评论:0

mysql两表联合排序_mysql多个表联合排序
开发过程中遇到个mysql的问题,我有多个表,多个表之间有联系,每个表都有单独的排序。
cour > cour_level > cour_unit > cour_lesson,这四个表的层级关系就是课程下⾯很多level,每个level下⾯有多个unit,每个unit下⾯有多个lesson,所有表的排序字段均为sort,全部是按照升序排列,如果某个级别sort相同,就按照id升序排列,例如level表⾥⾯id=5的sort是0,id=10的sor也是0,那么id5就排在前,每个⼦级别下的sort互不⼲扰,例如,cour_unit表⾥⾯的
cour_level_id=2,和cour_level_id=5的unit都会出现sort=0,sort=5的情况,意思就是下级的排序和上级的排序相关联。
现在我需要根据cour,cour_level,cour_unit的顺序来把cour_lesson的顺序确定下来,就是整个课程体系的id排序,请问这个mysql语句怎么写?lesson_id⼤概有1000个,只需要排好序的cour_lesson表⾥⾯的id字段。
#课程分类表
DROP TABLE IF EXISTS `cour`;
CREATE TABLE `cour` (
奇怪造句`id` int(11) unsigned NOT NULL AUTO_INCREMENT,非常反义词
`cour_type` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '课程类型(1.语⽂;2.数学;)',
`lesson_type` tinyint(3) NOT NULL DEFAULT '0' COMMENT '课堂类型(0.⼀对⼀试听课;1.⼀对⼀⼩班课;2.⼀对⼀⼤班课;3.⼀对多⼩班课;4.⼀对多⼤班课;5.⼀对多⼩班试听课)',
`name` varchar(64) NOT NULL DEFAULT '' COMMENT '课程名',
`level_num` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '该课程下总级别数量',
`unit_num` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '该Level下总unit数',
`lesson_num` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '该level下总lesson数',
`lesson_class_hour` int(8) unsigned NOT NULL DEFAULT '0' COMMENT '该Level下所有Lesson总学时(分钟)',
关于童年的句子
`class_hour` int(8) DEFAULT '25' COMMENT '当前课程每节课的上课时长',
`lesson_before_time` int(8) DEFAULT '5' COMMENT '课前备课时间(分钟)',
`lesson_after_time` int(8) DEFAULT '5' COMMENT '课后休息时间(分钟)',
`lesson_interval_time` int(8) DEFAULT '15' COMMENT '课程间隔时间(分钟)',
`sort` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '排序顺序,升序排列',
`status` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '状态(1.正常;2.过期;3.⽆效;4.删除)',
`creator` int(11) unsigned NOT NULL,
电脑不能播放视频`updator` int(11) unsigned NOT NULL DEFAULT '0',
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`teacher_abnce_time` int(8) DEFAULT '15' COMMENT '判定⽼师上课缺席时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='课程信息表';
#课程等级表
DROP TABLE IF EXISTS `cour_level`;
CREATE TABLE `cour_level` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'LevelId',
`cour_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '课程Id',
烤小面包
`name` varchar(64) NOT NULL DEFAULT '' COMMENT 'level名称,规则为level1~level6,名称固定不变',
`title` varchar(64) NOT NULL DEFAULT '' COMMENT 'Level标题',
`unit_num` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '该Level下总unit数',
`lesson_num` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '该level下总lesson数',
`lesson_class_hour` int(8) unsigned NOT NULL DEFAULT '0' COMMENT '该Level下所有Lesson总学时(分钟)', `sort` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '排序顺序,升序排列',
`status` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT 'Level状态(1.正常;2.过期;3.⽆效;4.删除)',
`creator` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建者',
`updator` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新者',
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='课程下Level信息表';
#单元表
DROP TABLE IF EXISTS `cour_unit`;
CREATE TABLE `cour_unit` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'LevelId',
`cour_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '所属courId',
`cour_level_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '课程Id',
`name` varchar(64) NOT NULL DEFAULT '' COMMENT '单元名',
`title` varchar(64) NOT NULL DEFAULT '' COMMENT '单元主题名',
`lesson_num` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '该单元下lesson数',
`lesson_class_hour` int(8) unsigned NOT NULL DEFAULT '0' COMMENT '该单元下所有lesson总学时(分钟)', `sort` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '排序顺序,升序排列',
我的故乡在远方`status` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT 'Level状态(1.正常;2.过期;3.⽆效;4.删除)',
`creator` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建者',
`updator` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新者',
`created_at` timestamp NULL DEFAULT NULL,
中国影院`updated_at` timestamp NULL DEFAULT NULL,
乘法的验算方法PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=138 DEFAULT CHARSET=utf8 COMMENT='课程下单元信息表';
#课程表
DROP TABLE IF EXISTS `cour_lesson`;
CREATE TABLE `cour_lesson` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'LevelId',
`cour_id` int(11) unsigned NOT NULL,
`cour_level_id` int(11) unsigned NOT NULL,
`cour_unit_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '课程Id',
`courware_id` int(11) NOT NULL DEFAULT '0' COMMENT '课件ID',
`preview_video_id` tinyint(3) NOT NULL DEFAULT '0' COMMENT '课前预习视频',
`reference_video_id` tinyint(3) NOT NULL DEFAULT '0' COMMENT '课程参考教学视频id',
`name` varchar(64) NOT NULL DEFAULT '' COMMENT 'level名称,规则为level1~level6,名称固定不变',
`title` varchar(64) NOT NULL DEFAULT '' COMMENT '课程标题',
`topic` varchar(64) NOT NULL DEFAULT '' COMMENT '课程主题',
`subject` text NOT NULL COMMENT '课程⽬标',
`class_hour` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '课程学时(分钟)',
`sort` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '排序顺序,升序排列',
`status` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT 'Level状态(1.正常;2.过期;3.⽆效;4.删除)', `creator` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建者',
`updator` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新者',
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=763 DEFAULT CHARSET=utf8 COMMENT='课程下Lesson信息表';

本文发布于:2023-05-31 08:27:51,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/819106.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:课程   排序   排列   升序   视频   顺序   遇到   名称
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图