SQlite 中的 ABS()和 AVG()功能
原文:https://www . geesforgeks . org/ABS-and-avg-function-in-SQLite/
1。ABS()函数: ABS(X)是用来得到一个数的绝对值的数学函数。
语法–
ABS(X)
ABS(X)函数接受一个数值参数 X 并返回它的大小。
SELECT ABS(-6);
输出–
6
如果参数 X 是一个 blob 或字符串,函数给出 0.0 作为返回值
SELECT ABS('gfg');
输出–
0.0
如果参数为空,函数返回空值。
SELECT ABS(NULL);
输出–
NULL
2。AVG()函数: AVG(X)是一个聚合函数,用于计算一组行的平均值。
语法–
AVG(X)
该函数产生的浮点值等于参数组 x 中所有非空值的平均值
SELECT AVG(1,2,3,4,5,6,7)
输出–
4.0
如果有一个空值传递给 AVG()函数,则在计算平均值时只使用非空值。
SELECT AVG(10,20,30,NULL);
输出–
20.0
参数 X 中出现的字符串和斑点被计算为 0。
SELECT AVG(10,20,'word',30,);
输出–
20.0
如果所有输入值都为空,则函数返回空值。
SELECT AVG(NULL,NULL,NULL);
输出–
NULL
现在,我们将使用一个真实的数据库示例。首先,让我们创建一个名为学生的表,其中列有姓名和年龄,并插入一些行!
--create a table
CREATE TABLE students(
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR(255),
age INT);
--insert multiple rows
INSERT INTO students(name,age)
VALUES
('Mark',20),
('Mary',19),
('John',17),
('Lydia',25);
然后我们将编写一个 SELECT 语句,给出使用 AVG()函数的所有学生的平均年龄
SELECT AVG(age) FROM students;
输出–
20.25
接下来,我们将创建一个 SELECT 语句,返回每个学生和 18 岁的新学生 Tony 之间的年龄差。
SELECT
name,
age,
ABS(age-18) AS age_difference_against_Tony
FROM students;
输出–
使用 ABS()函数输出 SELECT 语句
版权属于:月萌API www.moonapi.com,转载请注明出处