MySQL(二)函数
聚合函数
1、AVG()函数
- 返回数值列的平均值
SELECT AVG(column_name) FROM table_name
2、COUNT()函数
- 返回匹配指定条件的行数
(1)返回指定列的值的数目(NULL不计入)
SELECT COUNT(column_name) FROM table_name;
(2)返回表中的记录数
SELECT COUNT(*) FROM table_name;
(3)返回指定列的不同值的数目
SELECT COUNT(DISTINCT column_name) FROM table_name;
3、FIRST()函数
- 返回指定的列中第一个记录的值,只有MS Access支持FIRST()函数
SELECT FIRST(column_name) FROM table_name;
- MySQL语法
SELECT column_name FROM table_name
ORDER BY column_name ASC
LIMIT 1;
4、LAST()函数
- 返回指定列中最后一个记录的值,只有MS Access支持LAST()函数
SELECT LAST(column_name) FROM table_name;
- MySQL语法
SELECT column_name FROM table_name
ORDER BY column_name DESC
LIMIT 1;
5、MAX()函数
- 返回指定列的最大值
SELECT MAX(column_name) FROM table_name;
6、MIN()函数
- 返回指定列的最小值
SELECT MIN(column_name) FROM table_name;
7、SUM()函数
- 返回数值列的总数
SELECT SUM(column_name) FROM table_name;
GROUP BY语句
- 可结合一些聚合函数来使用,根据一个或多个列对结果集进行分组
- 使用GROUP BY子句并且某些组没有记录时,这些组不会显示在结果集中
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;
1、GROUP BY简单应用
- 计算每个产品的总销售额
SELECT product_id, SUM(quantity * price) AS total_sales
FROM sales
GROUP BY product_id;
2、GROUP BY多表连接
HAVING子句
- WHERE关键字无法与聚合函数一起使用
- HAVING子句用于筛选分组后的各组数据
SELECT column1, aggregate_function(column2)
FROM table_name
GROUP BY column1
HAVING condition;
EXISTS运算符
- 用于判断查询子句是否有记录,如果有一条或多条记录存在返回True,否则返回False
SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition);
- EXISTS可以与NOT一同使用,查找出不符合查询语句的记录
标量函数(Scalar Function)
1、UCASE()函数
- 把字段的值转换为大写
SELECT UCASE(column_name) FROM table_name;
2、LCASE()函数
- 把字段的值转换为小写
SELECT LCASE(column_name) FROM table_name;
3、MID()函数
- 从文本字段中提取字符
SELECT MID(column_name[,start,length]) FROM table_name;
参数 | 描述 |
---|---|
column_name | 必需,要提取字符的字段 |
start | 必需,规定开始位置(起始值是1) |
length | 可选,要返回的字符数,如果省略,则MID() 函数返回剩余文本 |
4、LENGTH()函数
- 返回文本字段中值的长度
SELECT LENGTH(column_name) FROM table_name;
5、ROUND()函数
- 把数值字段舍入为指定的小数位数
SELECT ROUND(column_name,decimals) FROM TABLE_NAME;
参数 | 描述 |
---|---|
column_name | 必需,要舍入的字段 |
decimals | 可选,规定要返回的小数位数 |
(1)ROUND(X):返回参数X的四舍五入的一个整数
(2)ROUND(X,D):返回参数X的四舍五入的有D位小数的一个数字,如果D为0,结果将没有小数点或小数部分
6、NOW()函数
- 返回当前系统的日期和时间
SELECT NOW() FROM table_name;
7、FORMAT()函数
- 用于对字段的显示进行格式化
SELECT FORMAT(column_name,format) FROM table_name;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?