常用 SQL语句(分组函数)

1.分组函数

分局函数一共有5种,所有的分组的函数都是对一组数据进行操作的
     count(计数)
     avg(平均值)
     sum(求和)
     max(最大值) 
     min(最小值)
示列代码
select count(需要求条数的字段值) from map;
注意:count会自动忽略null,并不把null算入计数,
在sql的数学表达式中只要参与运算的一个值为null那么整条数据的结果就为null,还有所有的数据库在运算的时候只要有null参与运算结果一定是null比如:
select (aprice+price) from map;(其中的一个值为null)
但是还有一个问题比如price的值为4因为前一个字段值为null所以获得的结果也为null但是我们还需要用到price的值这时候我们就要用到另一个函数ifnull它会把为null的字段值当成0来看这样结果就为4了:
SELECT (IFNULL(aprice,0)+price) FROM map 


select avg(需要求平均值的字段值) from map;

select sum(需要求和字段值) from map;

select max(需要求最大值的字段值) from map;

select min(需要求最小值的字段值) from map;

2.group by 和having

group by :按照某个字段获某些字段对数据进行分组
having :是对你group by 分组后的数据进行过滤,能用where解决的过滤建议用where解决
示列
SELECT address FROM  map  GROUP BY address HAVING address !='eqeq';
注意:
分组函数一般都会和group by 联合使用
任何一个分组函数都在group by 执行之后执行当一条sql语句没有group by 的话整张表会自成一组,还有分组函数不能写在where后面因为group by 是在where执行之后执行的
DQL语句执行顺序
5.select

1.from

2.where

3.group by

4.having

6.order by


3.去重 distinct去除重复记录

SELECT DISTINCT 字段值 FROM 表;

错误示列
SELECT 返回值,DISTINCT 字段值 FROM 表;
记住:distinct必须出现在所有字段的最前面,如果distinct后面只有一个字段值就是针对单个字段去重,如果有多个字段则是多个字段联合去重

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值