查询的补充
DQL:查询语句
1.排序查询:
*语法:order by 子句
*order by 排序字段1 排序方式1 ,排序字段2 排序方式2
*排序方式:
*ASC:升序(默认)
*DESC:降序
*注意
如果有多个排序条件,则当前边值一样时,才会按后边的排。
2.聚合函数:将一列数据作为一个整体,进行纵向的计算。
1.count:计算个数:select count(列名)from 表名
2.max:计算最大值:select max(列名)from 表名
3.min:计算最小值:select min(列名)from 表名
4.sum:计算和:select sum(列名)from 表名
5.avg:计算平均值:select avg(列名)from 表名
*注意:聚合函数的计算会排除null值。
解决方法:
1.选择不包含空的列进行计算
2.IFNULL函数 *select count(ifnull(列名,0))from 表名
3.分组查询:
1.语法:group by 分组字段;
2.注意:
1.分组之后查询的字段:分组字段,聚合函数
2.where和having 的区别:
*where在分组之前限定,如果不满足条件,则不会参与分组,having在分组之后限定,不满足不会被查询出来。
*where后不可以跟聚合函数,having可以进行聚合函数的判断。
4.分页查询:
1.语法:limit 开始的索引,每页查询的条数
2.公式:开始的索引=(当前的页码-1)*每页显示的条数
3.,样例:select * from student limit 0,3; --第一页
select * from student limit 3,3; --第二页
4.limit是MySQL的方言
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通