MariaDB MAX() 函数的基础用法与实例
MariaDB MAX()
函数用来返回一组值中的最大值。本文将介绍 MAX() 函数的语法、用法和实例。
发布于
MariaDB MAX()
函数用来返回一组值中的最大值。本文将介绍 MAX() 函数的语法、用法和实例。
语法
MairaDB MAX()
函数的语法如下:
MAX([DISTINCT] expr)
DISTINCT
:一个可选关键字,用于返回指定表达式中不同值的最大值。expr
:需要评估的表达式或列名。- 返回值:指定表达式中的最大值。如果没有任何行匹配,则返回 NULL。
实例
查找数值列的最大值
本示例演示如何查找数值列的最大值。
CREATE TABLE numbers (
id INT PRIMARY KEY,
value INT
);
INSERT INTO numbers (id, value) VALUES
(1, 10), (2, 5), (3, 20), (4, 15);
SELECT MAX(value) FROM numbers;
以下是该语句的输出:
+------------+
| MAX(value) |
+------------+
| 20 |
+------------+
查找字符串列的最大值
本示例演示如何查找字符串列的最大值。
CREATE TABLE names (
id INT PRIMARY KEY,
name VARCHAR(50)
);
INSERT INTO names (id, name) VALUES
(1, 'Alice'), (2, 'Bob'), (3, 'Charlie'), (4, 'David');
SELECT MAX(name) FROM names;
以下是该语句的输出:
+-----------+
| MAX(name) |
+-----------+
| David |
+-----------+
使用 DISTINCT 查找不同值的最大值
本示例演示如何使用 DISTINCT 关键字查找不同值的最大值。
CREATE TABLE scores (
id INT PRIMARY KEY,
score INT
);
INSERT INTO scores (id, score) VALUES
(1, 80), (2, 90), (3, 75), (4, 90), (5, 85);
SELECT MAX(score), MAX(DISTINCT score) FROM scores;
以下是该语句的输出:
+------------+---------------------+
| MAX(score) | MAX(DISTINCT score) |
+------------+---------------------+
| 90 | 90 |
+------------+---------------------+
可以看到,使用 DISTINCT 或不使用结果是一样的,因为 MAX() 函数本身就会返回最大值。
结合 GROUP BY 查找每组的最大值
本示例演示如何结合 GROUP BY 子句查找每组的最大值。
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50),
score INT
);
INSERT INTO students (id, name, score) VALUES
(1, 'Alice', 85), (2, 'Bob', 92), (3, 'Charlie', 78),
(4, 'David', 88), (5, 'Eve', 76);
SELECT name, MAX(score) FROM students GROUP BY name;
以下是该语句的输出:
+---------+------------+
| name | MAX(score) |
+---------+------------+
| Alice | 85 |
| Bob | 92 |
| Charlie | 78 |
| David | 88 |
| Eve | 76 |
+---------+------------+
使用窗口函数查找滑动最大值
本示例演示如何使用窗口函数查找滑动最大值。
CREATE TABLE sales (
id INT PRIMARY KEY,
product VARCHAR(50),
price INT
);
INSERT INTO sales (id, product, price) VALUES
(1, 'Apple', 2), (2, 'Orange', 3), (3, 'Banana', 1),
(4, 'Kiwi', 4), (5, 'Mango', 2);
SELECT id, product, price,
MAX(price) OVER (ORDER BY id ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) AS max_price
FROM sales;
以下是该语句的输出:
+------+---------+-------+-----------+
| id | product | price | max_price |
+------+---------+-------+-----------+
| 1 | Apple | 2 | 2 |
| 2 | Orange | 3 | 3 |
| 3 | Banana | 1 | 3 |
| 4 | Kiwi | 4 | 4 |
| 5 | Mango | 2 | 4 |
+------+---------+-------+-----------+
相关函数
以下是几个与 MairaDB MAX()
相关的几个函数:
- MariaDB
MIN()
函数用来返回一组值中的最小值。 - MariaDB
SUM()
函数用来计算一组值的总和。 - MariaDB
AVG()
函数用来计算一组值的平均值。 - MariaDB
COUNT()
函数用来计算一组值的个数。
结论
本文介绍了 MariaDB MAX()
函数的语法、用法和实例。我们了解了如何使用该函数查找数值列、字符串列和不同值的最大值,以及如何结合 GROUP BY 子句和窗口函数使用该函数。同时,我们还介绍了一些与 MAX()
相关的聚合函数。