您好!欢迎访问家园网-www.jy.wang!

家园网

为使用聚合函数的列设置别名,什么意思,不明白,什么是聚合函数。

网络 作者:本站 点击:

为使用聚合函数的列设置别名,什么意思,不明白,什么是聚合函数。

SELECT MAX(market_price) AS "市场价最高",MIN(market_price) AS "市场价最低" 
FROM goods;

聚合函数与别名详解

您问的这个问题很关键,让我从最基础的概念开始讲解。


一、这段 SQL 在做什么?

sql

SELECT 
    MAX(market_price) AS "市场价最高",
    MIN(market_price) AS "市场价最低" FROM goods;

一句话概括:从商品表中找出市场价的最高值最低值

假设原表数据

goods_namemarket_price
手机2999
电脑5999
耳机199
键盘399

查询结果

市场价最高市场价最低
5999199

二、什么是聚合函数?

词源

单词词源含义
aggregate拉丁语 aggregatus(聚集、集合)把多个东西聚在一起
function拉丁语 functio(执行、功能)函数、功能

通俗理解

聚合函数就是把多行数据的某个列"聚"在一起,计算出一个结果

text

┌─────────────────────────────────────────────┐
│  多行数据                   聚合函数         │
│  ┌─────────┐                               │
│  │ 2999    │                               │
│  │ 5999    │  ──────MAX()──────►   5999   │
│  │ 199     │                               │
│  │ 399     │                               │
│  └─────────┘                               │
│      ↑                                     │
│   market_price 列                          │
└─────────────────────────────────────────────┘


三、常见聚合函数

函数英文含义示例结果
MAX()Maximum最大值MAX(price)最高价格
MIN()Minimum最小值MIN(price)最低价格
SUM()Sum总和SUM(price)所有价格加起来
AVG()Average平均值AVG(price)价格的平均值
COUNT()Count计数COUNT(*)总行数

四、聚合函数的执行过程

以 MAX(market_price) 为例

text

步骤1:读取 market_price 列的所有值
       ┌─────┐
       │2999 │
       │5999 │  ← 逐一比较
       │199  │
       │399  │
       └─────┘

步骤2:找出最大值
       比较过程:2999 → 5999(更大)→ 199 → 399
       最终结果:5999

步骤3:返回结果
       输出:5999


五、什么是"为使用聚合函数的列设置别名"?

问题:没有别名会怎样?

sql

SELECT MAX(market_price), MIN(market_price) FROM goods;

查询结果

MAX(market_price)MIN(market_price)
5999199

问题:列名是 MAX(market_price) 和 MIN(market_price),又长又不好看!

解决:使用别名

sql

SELECT 
    MAX(market_price) AS "市场价最高",
    MIN(market_price) AS "市场价最低" FROM goods;

查询结果

市场价最高市场价最低
5999199

别名的作用:给聚合函数的结果起一个更友好、更易懂的名字


六、别名 vs 原列名

概念含义示例
原列名表中原本的字段名market_price
聚合函数结果计算后的值MAX(market_price)
别名给结果起的临时名字AS "市场价最高"

示意图

text

原表列名                   聚合函数                    别名
┌─────────────┐          ┌─────────────┐          ┌─────────────┐
│market_price │          │  MAX()      │          │ "市场价最高" │
│   (列名)    │  ──►     │  (函数)     │  ──►    │   (别名)    │
└─────────────┘          └─────────────┘          └─────────────┘
                              ↓
                         计算结果:5999


七、聚合函数 vs 普通列

对比项普通列聚合函数列
输入单行的一个值多行的所有值
输出每行一个结果整个表一个结果
需要别名吗?可选,但不必须强烈推荐,否则列名是函数表达式
示例SELECT goods_nameSELECT MAX(price)

八、完整示例对比

没有别名(不推荐)

sql

SELECT MAX(market_price), MIN(market_price) FROM goods;

结果

text

MAX(market_price) | MIN(market_price)
------------------|------------------
5999              | 199

列名难看,不直观。

有别名(推荐)

sql

SELECT 
    MAX(market_price) AS "市场价最高",
    MIN(market_price) AS "市场价最低" FROM goods;

结果

text

市场价最高 | 市场价最低
----------|----------
5999      | 199

列名清晰,一目了然。


九、总结

问题答案
什么是聚合函数?对多行数据计算出一个结果的函数(如 MAX、MIN、SUM)
MAX() 做什么?找出一列中的最大值
MIN() 做什么?找出一列中的最小值
为什么需要别名?让结果列的显示名称更清晰易懂
"为使用聚合函数的列设置别名"什么意思?给 MAX(...) 这样的计算结果起一个好名字

一句话总结:聚合函数(如 MAXMIN)把多行数据聚合成一个结果,用 AS 给这个结果起别名,让查询结果更清晰易读


标签: