MySql基础篇----DQL数据查询的基本操作(下)2.8

本文介绍了SQL中分组查询(group by)与分页查询(limit)的基本用法及注意事项,包括如何结合聚合函数进行部门工资统计,以及如何利用having子句进行分组后的筛选。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1分组查询

当需要分组查询时需要使用group by子句,例如查询每个部门的工资和,这说明要使用部门来分组。

    注:凡和聚合函数同时出现的列名,一定要写在group by 之后

  例:
         1 查询每个部门的部门编号和每个部门的工资和:
                  select number, sum(salary) from user group by number; 
         2 查询每个部门的部门编号以及每个部门工资大于1500的人数:
                   select number,count(*) from user where salary>1500 group by number;

having

  例:
    查询工资总和大于9000的部门编号以及工资和:
            select  number sum(salary) from  user  group by number having sum(salary)>9000;

注:select 查询结果只允许出现:要么是group by 后面的查询条件字段,要么是聚合函数,不可以再有别的字段,逻辑问题 

总结:
           注:having与where的区别:
                       1.having是在分组后对数据进行过滤.
                          where是在分组前对数据进行过滤
        
                       2.having后面可以使用聚合函数(统计函数)
                          where后面不可以使用聚合函数。

               where是对分组前记录的条件,如果某行记录没有满足where子句的条件,那么这行记录不会参加分组;而having是对分组后数据的约束。

 

2分页查询

 

limit用来限定查询结果的起始行,以及总行数。
     
语法: select * from 表名 limit 起始行,查询行数。
                  例: select * from user limit  0,5;    他是一个功能但是不要添加括号   (所显示查询从首行开始一共5行数据)


注意:起始行从0开始,即第一行开始!
          当最后的长度 大于最后的显示条目的时候不会出错,只会显示全部 (有多少条显示多少条)

 常用在分页查询上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值