sql 分组统计_sql汇总分析

一、Sql常用的汇总函数

需要注意的点:

1.count(列名)不统计字段为null 的记录;统计含null的记录需要用count(*)

2.sum、avg函数只能对数值类型的列计算

3.count(distinct 列名)用于不重复计数

83f0eec53c977fb9014a6cf7337d0148.png

二、分组:group by

练习:

77c7bbadb18e138e986c462204c56e1a.png

三、对分组结果指定条件:having

练习:

a1d39cd83e5c332cd273f7bd6fb20c1a.png

975a2a345c4967395154604b5dd339bb.png

四、用SQL解决业务问题的步骤

1.翻译成通俗易懂的大白话

2.写出分析思路

3.写出对应的SQL字句

练习:计算每门课程的平均成绩,并且平均成绩大于80分

分析思路:

明确查询的列为课程号、avg(成绩);

每门课程需要按课程号分组,即group by 课程号;

平均成绩大于80分,涉及对分组结果指定条件,需要用到having字句,即having avg(成 绩)>80;

56e22b5a1b976e733545e7d2d9faacbd.png

五、对查询结果排序:order by

  1. 列名 asc 表示按指定列升序排列,列名 desc 表示按指定列降序排列
  2. 按多个列排序时,从左到右执行
  3. 使用含有空值null的列排序时,空值null在查新结果开头显示;
  4. 从查询结果中取出指定行使用limit字句;

练习:

c294d1c9c26a811924b250c7f8d7d7eb.png

六、如何看懂报错信息

b8fc0777951a862f4adbb2d69a03a3cb.png

a3b80ee6c3fdf6e069d45a843e049b47.png

0ec61cb7007dcdf8e71a3d937ee2e955.png

七、总结

584c6af3e96b879156196ffb41f3735f.png

八、SQL练习题

以下两题应用了新的知识点:

1.不能在字符串中放入一个单引号,当有一个单引号时,可通过连续使用两个单引号来解决这个问题;

2.每条记录在运行in函数时,会返回0或1,;

8416150864e794d7c71a11dc6a8839d3.png

d5efc8ab0ccccc994828e8260f171752.png

8478fca5a319e5a9968ac0ea7c16aeb5.png
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值