数据库 left join\group by\having\order by

left join:左连接
顾名思义,左边的表取全部的结果
A库 left join B库:取A库所有内容+B库与A一样的内容
A库 left join B库 left join C库:AB的结果+与C一样的内容
右侧黑色部分是结果数据
在这里插入图片描述
group by:多个条件group by的时候,取并集

SELECT B.`采集程序`,A.ip, A.`数据时间`,COUNT(A.`数据时间`) AS 文件数量,SUM(A.`文件大小`)/1024/1024 AS 文件总大小(M)
FROM `tb_采集程序_数据_文件记录_dd_210304` A
left join `tb_采集程序_配置_采集任务` B
on A. `采集任务id` = B.id
left join `tb_采集程序_配置_服务器路径` C
on B.`服务器路径id` = C.id
group by ip,B.`采集程序`,C.`数据类型id`, A.`数据时间`
HAVING C.`数据类型id` in (1,4)
order by B.`采集程序`,A.ip,A.`数据时间`
;

having :二次select

order by :
遇到多个条件排序,前面条件排序结束,若无重复出现的结果,第二个排序条件对结果不产生影响
在这里插入图片描述

为了提高对JOIN, GROUP BY, HAVING, ORDER BY, LIMIT等SQL语句的理解和应用能力,你可以通过实际练习这些操作来加深理解。这里推荐《MySQL实战:50道经典练习题解析》一书,它包含了涵盖这些知识点的50个练习题,并提供了详细解析和答案。例如: 参考资源链接:[MySQL实战:50道经典练习题解析](https://wenku.csdn.net/doc/64534d7bea0840391e7795dc?spm=1055.2569.3001.10343) - 在使用JOIN进行表连接时,你可以练习如何根据不同的需求选择合适的JOIN类型,例如INNER JOINLEFT JOIN等,以及如何正确地设置ON条件来匹配行。 - 练习GROUP BY和HAVING语句时,你可以尝试对成绩表进行分组,比如按照课程或学生分组,并使用聚合函数来计算每组的统计数据。通过HAVING子句来筛选出满足特定条件的分组,例如找出平均分超过某个值的课程。 - ORDER BY的练习可以帮助你理解如何对查询结果进行排序,包括单列排序以及多列排序,还有如何使用ASC和DESC关键字来控制排序的方向。 - LIMIT的使用在处理大量数据时尤为重要,通过编写查询并应用LIMIT语句来获取查询结果的特定部分,比如实现分页功能。 通过这些练习,你不仅能学习到SQL语句的基本语法,还能提升解决实际问题的能力。《MySQL实战:50道经典练习题解析》中的题目结构化设计和详细解析,将帮助你系统地掌握各个知识点,并且能够将理论应用到实际的SQL编程中去。 参考资源链接:[MySQL实战:50道经典练习题解析](https://wenku.csdn.net/doc/64534d7bea0840391e7795dc?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值