From 03afffadc9301411beaa8e5f23788f286decf311 Mon Sep 17 00:00:00 2001 From: mba1398 <26516464+mba1398@users.noreply.github.com> Date: Sat, 9 Jul 2022 17:47:31 +0800 Subject: [PATCH] update 2.4.1 --- ch02: 基础查询与排序.md | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/ch02: 基础查询与排序.md b/ch02: 基础查询与排序.md index 186e468..f1f1a89 100644 --- a/ch02: 基础查询与排序.md +++ b/ch02: 基础查询与排序.md @@ -338,15 +338,19 @@ SELECT COUNT(purchase_price) FROM product; ``` -### 使用聚合函数删除重复值 +### 使用 DISTINCT 进行删除重复值的聚合运算 -```sql --- 计算去除重复数据后的数据行数 +当对整表进行聚合运算时,表中可能存在多行相同的数据,比如商品类型(product_type 列)。 + +在某些场景下,就不能直接使用聚合函数进行聚合运算了,必须搭配 `DISTINCT` 函数使用。 + +比如:要计算总共有几种咖啡类型在售,该怎么计算呢? + +如前所述,`DISTINCT` 函数用于删除重复数据,应用 COUNT 聚合函数之前,加上 `DISTINCT` 关键字就可以实现需求。 + +```SQL SELECT COUNT(DISTINCT product_type) - FROM product; --- 是否使用DISTINCT时的动作差异(SUM函数) -SELECT SUM(sale_price), SUM(DISTINCT sale_price) - FROM product; + FROM product; ``` ## 2.4.2 常用法则