MySQL ABS函数
时间:2019-11-20 08:52:26 来源:igfitidea点击:
简介:在本教程中,您将学习如何使用MySQL ABS()函数返回数字的绝对值。
MySQL ABS()函数概述
ABS()函数是一个数学函数,它返回数字的绝对(正)值。
下面显示了ABS()函数的语法:
ABS(n)
在此语法中,n是文字数字或计算结果为数字的表达式。
如果n为负数,则ABS()函数会将负值更改为正值。
如果n为零或正,则ABS()函数无效。
返回值的数据类型与输入参数的数据类型相同。
下图说明了ABS()函数:
MySQL ABS()函数示例
下面的示例显示对四个不同的数字使用ABS()函数的结果:
SELECT
ABS(-10),
ABS(0),
ABS(10);
这是查询输出:
在表格列上使用ABS功能
我们将使用产品表进行演示:
以下查询查找产品代码MSRP以及产品MSRP与产品在其产品系列中的平均MSRP的偏差。
SELECT
productName,
productLine,
msrp,
ABS(
ROUND(
msrp - AVG(msrp) OVER (
PARTITION BY productLine
)
)
) deviation
FROM
products
ORDER BY
productName;
这是输出:
让我们分解一下偏差列的计算。
首先,AVG()窗口函数返回其产品线中每个产品的平均MSRP:
AVG(msrp) OVER ( PARTITION BY productLine )
其次,以下公式返回MSRP和平均产品线MSRP之间的差:
msrp - AVG(msrp) OVER (PARTITION BY productLine)
第三,ROUND()函数将偏差四舍五入为零。
ROUND(
msrp - AVG(msrp) OVER (
PARTITION BY productLine
)
)
第四,由于某些产品的建议零售价低于平均建议零售价,因此它们与平均值的偏差为负。
ABS()函数应用于所有偏差以返回绝对值。
在本教程中,您学习了如何使用MySQL ABS()函数获取数字的绝对值。

