数据库之聚合函数与分组

来源:互联网 发布:线切割绘图编程步骤 编辑:程序博客网 时间:2024/05/21 07:05

  1. 聚合函数:COUNT、 SUM 、AVG 、MAX 、MIN

  • 执行行和列计数(count):SELECT COUNT (<计数规范>) FROM 表名;( *:计数所有选择的行,包含NULL值。   ALL列:计数指定列的所有的非空值。   DISTINCT列:删除重复。)
  • 返回列合计值(sum)SELECT SUM (<计算规范>) FROM 表名;(SUM无*通配符)
  • 获取列平均值(AVG)SELECT AVG (<平均值规范>) FROM 表名;(AVG要考虑有无空值。有空值时使用此语法,计算出的值会有偏差。)
  • 返回最大值(MAX)和最小值(MIN)SELECT MAX (<最大值规范>) FROM 表名;SELECT MIN (<最小值规范>) FROM 表名;(最大值和最小值没有all、distinct、* 通配符这些规范)

2.数据分组

过滤分组数据(GROUP BY):SELECT 列A,聚合函数(聚合函数规范) FROM 表名 WHERE 过滤条件 GROUP BY 列A;(例:SELECT s_age FROM t_stu GROUP BY s_age;这是在t_stu表中,对年龄进行分组)(例:SELECT s_c_id,count(s_id)FROM t_stu GROUP BY s_c_id;)(where后不能接聚合函数)

3.WHERE与HAVING的区别:WHERE运行在分组前;HAVING运行在分组后,只过滤聚合函数。

4.SQL语句的执行顺序:

  • FROM子句
  • WHERE子句
  • GROUP BY子句
  • SELECT 子句
  • HAVING子句
  • ORDER BY子句

0 0
原创粉丝点击