首页 » 网站建设 » phpmysqlgroup技巧_24MySQL 教程GROUP BY分组

phpmysqlgroup技巧_24MySQL 教程GROUP BY分组

访客 2024-12-10 0

扫一扫用手机浏览

文章目录 [+]

INSERT INTO course (course_name,teacher_id) VALUES('毛概',1),('线性代数',2),('政治',3),('程序设计措辞',1),('离散数学',2),('编译技能',3),('嵌入式根本',1),('单片机事理',2),('图像处理',3),('数字旗子暗记处理',1),('专业英语',2),('网络编程',3);

实行结果如下图:

2. 单字段分组

先查看 course 表所有数据:

phpmysqlgroup技巧_24MySQL 教程GROUP BY分组

SELECT FROM course;

查询结果如下图:

phpmysqlgroup技巧_24MySQL 教程GROUP BY分组
(图片来自网络侵删)

以表 course 为例,须要查出所有课程西席干系信息,按照 teacher_id 字段分组可去除重复数据:

SELECT teacher_id FROM course GROUP BY teacher_id;

查询结果如下图:

根据上面分构成果还可以利用 LEFT JOIN 连接查询分组:

SELECT c.teacher_id,t. FROM course c LEFT JOIN teacher t ON c.teacher_id=t.id GROUP BY c.teacher_id;

实行结果如下图:

3. 多字段分组

以查询学生选课关联表为例,查询学生选课干系信息:

SELECT FROM student_course a INNER JOIN student b ON a.student_id=b.id INNER JOIN course c ON a.course_id=c.id INNER JOIN teacher d ON c.teacher_id=d.id;

查询结果如下图;

上图是不同学生选课干系的信息数据,可以利用 GROUP BY 按照 teacher_id、course_id 分组来展示所有西席的所有课程信息:

SELECT c.teacher_id,a.course_id,c.course_name,d.nameFROM student_course a INNER JOIN student b ON a.student_id=b.id INNER JOIN course c ON a.course_id=c.id INNER JOIN teacher dON c.teacher_id=d.id GROUP BY c.teacher_id,a.course_id;

实行结果如下图:

Tips:单字段分组和多字段分组的差异在于,单字段因此一个字段来判断数据是否重复分组出来的结果,多字段分组因此多个字段同时来判断是否重复分组出来的结果。

4. 小结

本小节先容了如何利用 GROUP BY 对查询结果集分组筛选出想要的内容,相对付前面小节的内容来说,本小节 GROUP BY 分组较为繁芜,须要仔细的体会和思考,须要把稳的是利用 GROUP BY 分组时,要将 MySQL 的 sql model 配置中 ONLY_FULL_GROUP_BY 的值去除掉,如果有该 sql_model 配置,在 SELECT 中的列,没有在 GROUP BY 中涌现,那么这个 SQL 是不合法的,这样的严格模式对新手不友好,须要去除该配置,查看当前 sql_model 配置命令:

SELECT @@sql_mode;

实行结果如下图:

上图中 sql_model 中并没有 ONLY_FULL_GROUP_BY 配置值,若想要配置 sql_mode 则可以在 MySQL 配置文件中 [mysqld] 下面增加 sql_model,设置好之后,重启 MySQL 即可,内容如下格式:

sql_mode='STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION'

标签:

相关文章

龙付出php技巧_PHP的支付宝APP支付

文|何掌柜第一步:创建运用并获取APPID要在您的运用中利用支付宝开放产品的接谈锋能,您须要先去蚂蚁金服开放平台(open.ali...

网站建设 2024-12-12 阅读0 评论0

php235教程技巧_P站画师BaeC2356928

每天为美图所累^( ̄(oo  ̄ ^~~~如果你以为还不错,记得点赞,收藏+关注! 如果小伙伴有喜好的画师,也可以留言见告我! P站...

网站建设 2024-12-12 阅读0 评论0