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;
posted @   一年都在冬眠  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示