暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Mysql 函数二

原创 bjgzxx 2024-04-08
256

1、ABS(x) 返回x的绝对值


SELECT ABS(-1);
-语法

sql


ABS(X)

其中 X 是你希望获取其绝对值的数字。

示例

  1. 获取一个正数的绝对值:

sql


SELECT ABS(5);

输出:

diff


+-------+


| ABS(5)|


+-------+


| 5 |


+-------+
  1. 获取一个负数的绝对值:

sql


SELECT ABS(-5);

输出:


+--------+


| ABS(-5)|


+--------+


| 5 |


+--------+
  1. 在一个查询中使用 ABS() 函数:

假设你有一个名为 orders 的表,并且你想找出订单金额(可能是正数或负数)的绝对值:


SELECT order_id, ABS(amount) AS absolute_amount


FROM orders;

这将返回每一行的 order_id 和 amount 的绝对值。

总之,ABS() 函数在 MySQL 中非常有用,特别是当你需要确保结果为正值时。

2、AVG(expression) 返回一个表达式的平均值,expression 是一个字段


在 MySQL 中,AVG() 是一个聚合函数,用于计算某列的平均值。当你想要获取某列所有值的平均数时,你可以使用这个函数。

语法

sql


AVG(expression)

其中 expression 是你想要计算平均值的列或表达式。

示例

  1. 计算一个表中某列的平均值:

假设你有一个名为 students 的表,其中有一个名为 score 的列,你可以使用 AVG() 函数来计算所有学生的平均分数:

sql


SELECT AVG(score) AS average_score FROM students;

这将返回一个名为 average_score 的结果,其中包含 score 列的平均值。

  1. 在分组查询中使用 AVG() 函数:

如果你想按某个类别计算平均值,你可以使用 GROUP BY 子句与 AVG() 函数结合使用。例如,假设 students 表还有一个 class 列,你可以按班级计算平均分:

sql


SELECT class, AVG(score) AS average_score_per_class


FROM students


GROUP BY class;

这将返回每个班级及其对应的平均分数。

  1. 与其他聚合函数和条件语句结合使用:

AVG() 函数也可以与其他聚合函数(如 SUM()COUNT() 等)或条件语句(如 CASE)结合使用,以实现更复杂的计算。

需要注意的是,AVG() 函数在计算平均值时会忽略 NULL 值。如果某列包含 NULL 值,那么这些值将不会被计入平均值的计算中。


3、CEIL(x)/CEILING(x) 返回大于或等于 x 的最小整数

在 MySQL 中,CEIL(x) 是一个数学函数,用于返回大于或等于给定数字 x 的最小整数。这个函数也被称为“向上取整”函数,因为它总是将数值向正无穷方向舍入到最近的整数。

语法

CEIL(x)

其中 x 是你想要向上取整的数值。

示例

  1. 对一个正数使用 CEIL() 函数:
SELECT CEIL(3.14);

输出:

+----------+  
| CEIL(3.14)|  
+----------+  
|        4 |  
+----------+
  1. 对一个负数使用 CEIL() 函数:
SELECT CEIL(-3.14);

输出:

+------------+ 
| CEIL(-3.14) |  
+------------+  
|         -3  |  
+------------+

请注意,对于负数,CEIL() 函数仍然返回大于或等于给定数的最小整数,这意味着它会向零的方向取整(因为 -3 是大于 -3.14 的最小整数)。

  1. 在查询中使用 CEIL() 函数:

假设你有一个名为 prices 的表,其中有一个名为 cost 的列,你想要得到每个价格向上取整后的结果:

SELECT cost, CEIL(cost) AS ceiling_cost FROM prices;

这将返回 prices 表中的每一行,并额外添加一列 ceiling_cost,其中包含 cost 列值向上取整后的结果。

CEIL() 函数在处理需要向上取整的场景时非常有用,比如计算需要多少个完整的容器来装液体,或者计算至少需要多少完整的单位来满足某个需求等。



4、FLOOR(x) 返回小于或等于 x 的最大整数

在 MySQL 中,FLOOR(x) 是一个数学函数,用于返回小于或等于给定数字 x 的最大整数。这个函数也被称为“向下取整”函数,因为它总是将数值向负无穷方向舍入到最近的整数。

语法

FLOOR(x)

其中 x 是你想要向下取整的数值。

示例

  1. 对一个正数使用 FLOOR() 函数:
SELECT FLOOR(3.14);

输出:

+----------+  
| FLOOR(3.14)|  
+----------+  
|        3   |  
+----------+
  1. 对一个负数使用 FLOOR() 函数:
SELECT FLOOR(-3.14);

输出:

+------------+  
| FLOOR(-3.14)|  
+------------+  
|         -4  |  
+------------+

对于负数,FLOOR() 函数返回小于或等于给定数的最大整数,这意味着它会向更小的数值方向取整。

  1. 在查询中使用 FLOOR() 函数:

假设你有一个名为 sales 的表,其中有一个名为 amount 的列,你想要得到每个销售额向下取整后的结果:

SELECT amount, FLOOR(amount) AS floor_amount FROM sales;

这将返回 sales 表中的每一行,并额外添加一列 floor_amount,其中包含 amount 列值向下取整后的结果。

FLOOR() 函数在处理需要向下取整的场景时非常有用,比如计算可以用多少完整的单位来表示某个数量,或者确定在某个范围内应该使用的最小整数等。与 CEIL() 函数相比,FLOOR() 函数总是向数轴的左侧(即更小的数值)取整。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论