MariaDB MIN() 函数的基础用法与实例

MariaDB MIN() 函数用来从一组值中返回最小值。本文将介绍该函数的语法、用法实例以及相关函数。

发布于

MariaDB MIN() 函数用来从一组值中返回最小值。本文将介绍该函数的语法、用法实例以及相关函数。

语法

MariaDB MIN() 函数的语法如下:

MIN(expression)
  • expression:要计算最小值的表达式。

该函数返回 expression 的最小值。如果 expression 中包含 NULL 值,则忽略这些 NULL 值。

实例

获取数值字段的最小值

本实例将获取 orders 表中 amount 字段的最小值。

DROP TABLE IF EXISTS orders;
CREATE TABLE orders (
  id INT PRIMARY KEY,
  amount DECIMAL(10,2)
);

INSERT INTO orders VALUES
(1, 25.50),
(2, 33.25),
(3, 17.80),
(4, 40.60),
(5, 22.35);

SELECT MIN(amount) AS min_amount
FROM orders;

以下是该语句的输出:

+------------+
| min_amount |
+------------+
|      17.80 |
+------------+

获取字符串字段的最小值

本实例将获取 products 表中 name 字段的最小值。

DROP TABLE IF EXISTS products;
CREATE TABLE products (
  id INT PRIMARY KEY,
  name VARCHAR(50)
);

INSERT INTO products VALUES
(1, 'Apple'),
(2, 'Banana'),
(3, 'Orange'),
(4, 'Pear'),
(5, 'Grape');

SELECT MIN(name) AS min_name
FROM products;

以下是该语句的输出:

+----------+
| min_name |
+----------+
| Apple    |
+----------+

结合 GROUP BY 使用

本实例将结合 GROUP BY 子句,获取各个分类中 amount 字段的最小值。

DROP TABLE IF EXISTS orders;
CREATE TABLE orders (
  id INT PRIMARY KEY,
  category VARCHAR(20),
  amount DECIMAL(10,2)
);

INSERT INTO orders VALUES
(1, 'Electronics', 599.99),
(2, 'Electronics', 859.00),
(3, 'Clothing', 75.25),
(4, 'Clothing', 99.80),
(5, 'Books', 24.95);

SELECT category, MIN(amount) AS min_amount
FROM orders
GROUP BY category;

以下是该语句的输出:

+-------------+------------+
| category    | min_amount |
+-------------+------------+
| Books       |      24.95 |
| Clothing    |      75.25 |
| Electronics |     599.99 |
+-------------+------------+

使用 HAVING 子句过滤

本实例将结合 HAVING 子句,获取 amount 字段最小值大于 100 的记录。

SELECT category, MIN(amount) AS min_amount
FROM orders
GROUP BY category
HAVING MIN(amount) > 100;

以下是该语句的输出:

+-------------+------------+
| category    | min_amount |
+-------------+------------+
| Electronics |     599.99 |
+-------------+------------+

处理 NULL 值

本实例将展示 MIN() 函数在处理 NULL 值时的行为。

DROP TABLE IF EXISTS products;
CREATE TABLE products (
  id INT PRIMARY KEY,
  price DECIMAL(10,2)
);

INSERT INTO products VALUES
(1, 10.50),
(2, NULL),
(3, 18.99),
(4, NULL),
(5, 22.50);

SELECT MIN(price) AS min_price
FROM products;

以下是该语句的输出:

+-----------+
| min_price |
+-----------+
|     10.50 |
+-----------+

上例中 MIN() 函数忽略了 price 字段中的 NULL 值。

相关函数

以下是几个与 MariaDB MIN() 相关的几个函数:

  • MariaDB MAX() 函数用来获取一组值中的最大值。
  • MariaDB AVG() 函数用来计算一组值的平均值。
  • MariaDB SUM() 函数用来计算一组值的总和。
  • MariaDB COUNT() 函数用来统计一组值中的记录数。

结论

本文介绍了 MariaDB MIN() 函数的语法、用法实例以及相关函数。该函数可以获取一组数值或字符串值中的最小值,还可以结合其他子句如 GROUP BYHAVING 等使用。在需要查找最小值的场景下,MIN() 函数非常实用。同时也介绍了该函数在处理 NULL 值时的行为。