SQL中MIN和MAX及常见函数教程示例

 更新时间:2023年11月23日 09:18:58   作者:小万哥  
这篇文章主要为大家介绍了SQL中MIN和MAX及常见函数教程示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

SQL MIN() 和 MAX() 函数

SQL中的MIN()函数和MAX()函数用于查找所选列的最小值和最大值,分别。以下是它们的用法和示例:

MIN() 函数

MIN()函数返回所选列的最小值。

示例:

查找Products表中的最低价格:

SELECT MIN(Price)
FROM Products;

MAX() 函数

MAX()函数返回所选列的最大值。

示例:

查找Products表中的最高价格:

SELECT MAX(Price)
FROM Products;

语法

MIN()和MAX()函数的一般语法如下:

SELECT MIN(column_name)
FROM table_name
WHERE condition;
SELECT MAX(column_name)
FROM table_name
WHERE condition;

演示数据库

以下是示例中使用的Products表的一部分:

ProductIDProductNameSupplierIDCategoryIDUnitPrice
1Chais1110 boxes x 20 bags18
2Chang1124 - 12 oz bottles19
3Aniseed Syrup1212 - 550 ml bottles10
4Chef Anton's Cajun Seasoning2248 - 6 oz jars22
5Chef Anton's Gumbo Mix2236 boxes21.35

设置列名(别名)

当使用MIN()或MAX()函数时,返回的列默认将命名为MIN(field)或MAX(field)。要为列指定新名称,请使用AS关键字:

示例:

SELECT MIN(Price) AS SmallestPrice
FROM Products;

这将返回名为"SmallestPrice"的列,其中包含Products表中的最低价格。

SQL COUNT() 函数

SQL中的COUNT()函数用于返回符合指定条件的行数,通常用于统计行的数量。以下是它的用法和示例:

示例

查找Products表中的产品总数:

SELECT COUNT(*)
FROM Products;

语法

COUNT()函数的一般语法如下:

SELECT COUNT(column_name)
FROM table_name
WHERE condition;

演示数据库

以下是示例中使用的Products表的一部分:

ProductIDProductNameSupplierIDCategoryIDUnitPrice
1Chais1110 boxes x 20 bags18
2Chang1124 - 12 oz bottles19
3Aniseed Syrup1212 - 550 ml bottles10
4Chef Anton's Cajun Seasoning2248 - 6 oz jars22
5Chef Anton's Gumbo Mix2236 boxes21.35

添加 WHERE 子句

您可以添加WHERE子句以指定条件:

示例

查找价格高于 20 的产品数量:

SELECT COUNT(ProductID)
FROM Products
WHERE Price > 20;

指定列名

您可以指定列名而不是使用星号(*)。

如果指定列名,将不会计算NULL值。

示例

查找ProductName不为NULL的产品数量:

SELECT COUNT(ProductName)
FROM Products;

如果表中包含NULL值,您可以使用IS NOT NULL条件来排除NULL值。例如:

SELECT COUNT(ProductName)
FROM Products
WHERE ProductName IS NOT NULL;

忽略重复项

您可以使用COUNT函数中的DISTINCT关键字来忽略重复项。

如果指定DISTINCT,具有相同值的行将被计为一行。

示例

Products表中有多少不同的价格:

SELECT COUNT(DISTINCT Price)
FROM Products;

使用别名

您可以使用AS关键字为计数列指定别名。

示例

将计数列命名为 "记录数":

SELECT COUNT(*) AS "记录数"
FROM Products;

使用别名可以使结果集的列名更具可读性。

SQL SUM() 函数

SQL中的SUM()函数用于返回数值列的总和,通常用于计算某一列的总值。以下是它的用法和示例:

示例

返回OrderDetails表中所有Quantity字段的总和:

SELECT SUM(Quantity)
FROM OrderDetails;

语法

SUM()函数的一般语法如下:

SELECT SUM(column_name)
FROM table_name
WHERE condition;

演示数据库

以下是示例中使用的OrderDetails表的一部分:

OrderDetailIDOrderIDProductIDQuantity
1102481112
2102484210
310248725
410249149
5102495140

添加 WHERE 子句

您可以添加WHERE子句以指定条件:

示例

返回具有ProductID为11的产品所生成的订单数量:

SELECT SUM(Quantity)
FROM OrderDetails
WHERE ProductID = 11;

使用别名

您可以使用AS关键字为总结列指定别名。

示例

将列命名为 "总计":

SELECT SUM(Quantity) AS total
FROM OrderDetails;

使用别名可以使结果集的列名更具可读性。

使用表达式的 SUM()

SUM()函数内的参数也可以是一个表达式。

如果我们假设OrderDetails列中的每个产品价格为10美元,我们可以通过将每个数量乘以10来找到以美元计算的总收入:

示例

SUM()括号内使用表达式:

SELECT SUM(Quantity * 10)
FROM OrderDetails;

我们还可以将OrderDetails表与Products表连接以找到实际金额,而不是假定为10美元:

示例

OrderDetailsProducts连接,并使用SUM()查找总金额:

SELECT SUM(Price * Quantity)
FROM OrderDetails
LEFT JOIN Products ON OrderDetails.ProductID = Products.ProductID;

SQL AVG() 函数

SQL中的AVG()函数用于返回数值列的平均值。通常,它用于计算某一列的平均值。以下是AVG()函数的用法和示例:

示例

查找所有产品的平均价格:

SELECT AVG(Price)
FROM Products;

语法

AVG()函数的一般语法如下:

SELECT AVG(column_name)
FROM table_name
WHERE condition;

演示数据库

以下是示例中使用的Products表的一部分:

ProductIDProductNameSupplierIDCategoryIDUnitPrice
1Chais1110 boxes x 20 bags18
2Chang1124 - 12 oz bottles19
3Aniseed Syrup1212 - 550 ml bottles10
4Chef Anton's Cajun Seasoning2248 - 6 oz jars22
5Chef Anton's Gumbo Mix2236 boxes21.35

添加 WHERE 子句

您可以添加WHERE子句以指定条件:

示例

返回类别1中产品的平均价格:

SELECT AVG(Price)
FROM Products
WHERE CategoryID = 1;

使用别名

您可以使用AS关键字为平均列指定别名。

示例

将列命名为 "平均价格":

SELECT AVG(Price) AS [平均价格]
FROM Products;

高于平均价格

要列出所有价格高于平均价格的记录,我们可以在子查询中使用AVG()函数:

示例

返回价格高于平均价格的所有产品:

SELECT * FROM Products
WHERE Price > (SELECT AVG(Price) FROM Products);

这将返回所有价格高于平均价格的产品。

以上就是SQL中MIN和MAX及常见函数教程示例的详细内容,更多关于SQL MIN MAX常见函数的资料请关注脚本之家其它相关文章!

相关文章

  • 一篇文章学会SQL中的递归用法(Mysql)

    一篇文章学会SQL中的递归用法(Mysql)

    这篇文章主要给大家介绍了关于如何一篇文章学会SQL中的递归用法,众所周知目前的mysql版本中并不支持直接的递归查询,但是通过递归到迭代转化的思路,还是可以在一句SQL内实现树的递归查询的,需要的朋友可以参考下
    2023-10-10
  • mysql-8.0.35-winx64 zip版安装教程(附图文)

    mysql-8.0.35-winx64 zip版安装教程(附图文)

    许多人在学习过程中经常因使用不当将MySQL数据库搞崩溃,这篇文章主要给大家介绍了关于mysql-8.0.35-winx64 zip版安装教程的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • MySQL 5.7之关于SQL_MODE的设置

    MySQL 5.7之关于SQL_MODE的设置

    这篇文章主要介绍了MySQL 5.7之关于SQL_MODE的设置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • mysql中的事务重做日志(redo log)与回滚日志(undo log)

    mysql中的事务重做日志(redo log)与回滚日志(undo log)

    这篇文章主要介绍了mysql中的事务重做日志(redo log)与回滚日志(undo log),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • MySQL索引概念及七种索引类型分享介绍

    MySQL索引概念及七种索引类型分享介绍

    这篇文章主要介绍了MySQL索引概念及七种索引类型分享介绍,索引是存储引擎用于快速找到记录的一种数据结构,这也是索引最基本的功能
    2022-08-08
  • Mysql大表全表查询的全过程(分析底层的数据流转过程)

    Mysql大表全表查询的全过程(分析底层的数据流转过程)

    这篇文章主要介绍了Mysql大表全表查询的全过程(分析底层的数据流转过程),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • MySQL limit使用方法以及超大分页问题解决

    MySQL limit使用方法以及超大分页问题解决

    这篇文章主要给大家介绍了关于MySQL limit使用方法以及超大分页问题解决的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-10-10
  • MySQL中建表与常见的类型设计陷阱详解

    MySQL中建表与常见的类型设计陷阱详解

    这篇文章详细讲解了MySQL的建表语句、以及表结构的设计规范和陷阱,并对网络上常见的资料给出的设计方案。文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-11-11
  • centos6.5中rpm包安装mysql5.7初始化出错的解决方法

    centos6.5中rpm包安装mysql5.7初始化出错的解决方法

    这篇文章主要介绍了centos6.5中rpm包安装mysql5.7初始化出错的解决方法,需要的朋友可以参考下
    2017-09-09
  • Win10环境下安装Mysql5.7.23问题及遇到的坑

    Win10环境下安装Mysql5.7.23问题及遇到的坑

    这篇文章主要介绍了Win10环境下安装Mysql5.7.23问题及遇到的坑,本文通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11

最新评论