SQL基础教程第三章聚合与排序

聚合查询

聚合函数

count 计算记录数

sum 求和

avg 求平均

max 最大

min 最小

求行数

1
2
SELECT COUNT(*)
FROM Product;

image-20231116161737222

使用distinct删除重复值

1
2
SELECT COUNT(DISTINCT product_type )
FROM Product;

image-20231116162114510

分组

GROUP BY

1
2
3
SELECT product_type,COUNT(*)
FROM Product
GROUP BY product_type;

image-20231116162346628

使用where时,select的语句执行顺序为:

from->where->group by->select

  1. GROUP BY 不能使用别名

  2. 使用GROUP BY 不能出现聚合键以外的别名

  3. where中不能使用聚合函数

为聚合结果指定条件

HAVING子句

1
2
3
4
SELECT product_type,COUNT(*)
FROM Product
GROUP BY product_type
HAVING COUNT(*) = 2;

image-20231116164703432

HAVING 能够使用的三种情况:

  1. 常数
  2. 聚合函数
  3. GROUPBY指定的类名

对查询结果进行排序

order by

1
2
3
SELECT *
FROM Product
ORDER BY sale_price;

image-20231116195932557

降序在后面加DESC

image-20231116200011172

  1. 可以使用别名
  2. 可以使用select没有使用到的列

指定多个排序键

优先级从左到右