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);

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

最后

为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。

看完如果觉得有帮助,欢迎点赞、收藏关注

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/161109.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于猕猴Spike运动解码的不同解码方法性能对比

公开数据集中文版详细描述 参考前文:https://editor.csdn.net/md/?not_checkout1&spm1011.2124.3001.6192神经元Spike信号分析 参考前文:https://blog.csdn.net/qq_43811536/article/details/134359566?spm1001.2014.3001.5501神经元运动调制分析 …

2023 年戴森设计大奖得主是谁?给大楼降温、争取救援机会

2023 年戴森设计大奖得主是谁?给大楼降温、争取救援机会 ​编辑拉风的极客2023/11/22 摘要 当今社会除了持续不断对科技创新保持注目,还有很多年轻发明家为了实际场景的难题提供解决方案。 11 月 15 日,2023 年戴森设计大奖国际大奖名单正…

2023年危险化学品生产单位安全生产管理人员证模拟考试题库及危险化学品生产单位安全生产管理人员理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2023年危险化学品生产单位安全生产管理人员证模拟考试题库及危险化学品生产单位安全生产管理人员理论考试试题是由安全生产模拟考试一点通提供,危险化学品生产单位安全生产管理人员证模拟考试题库是根据危…

文件的原理和应用

常识: 1 文件包括属性和内容 2 文件有打开和未打开文件, 3 本文先讨论谁打开的文件,以及如何管理已经打开的文件 一 回忆c接口 1 fopen 我们在test.c里面用一下fopen函数,不存在打开的文件会默认创建,那为什么默认新建在当前…

【Kettle实战】字符串处理及网络请求JSON格式处理

经过大量的kettle操作实践,我们会渐渐掌握一些技巧,大大减轻清洗的工作量。比如在哪里 处理字符串更方便,在哪儿处理更合理都是一个取舍问题。 字符串拼接 MySQL中使用concat(字段1,字段2),但是如果“字段2”为NULL,结…

如何在windows使用别名远程执行命令

需求背景 在开发中,需要在服务器执行脚本,需要如下几步操作: 1.打开xshell 2.登录服务器 3.进入命令脚本的路径 4.执行脚本 但是,作为懒人来说,操作太繁琐了,真麻烦,能不能一键就解决那么多操作?所以,开始研究windows有没有这个东西,而且不需要额外的软件就可以实现的.结…

ABeam Recruiting | ABeam旗下德硕管理咨询(上海)最新招聘岗位

诚聘英才 市场部经理 招聘背景 作为起源于亚洲的全球化咨询公司, ABeam立志成为中国、乃至全球的杰出品牌 本次招聘岗位 以加快ABeam中国本土各法人 在中国市场的品牌推广、提高企业知名度 强化Marketing部门的体制为目标 工作职责 在现有的PR业务基础上&#…

C++多线程学习(二):多线程通信和锁

参考引用 C11 14 17 20 多线程从原理到线程池实战代码运行环境:Visual Studio 2019 1. 多线程状态 1.1 线程状态说明 初始化 (lnit):该线程正在被创建就绪 (Ready):该线程在就绪列表中,等待 CPU 调度运行 (Running):…

xss-labs靶场6-10关

文章目录 前言一、靶场6-10关1、关卡62、关卡73、关卡84、关卡95、关卡10 总结 前言 此文章只用于学习和反思巩固xss攻击知识,禁止用于做非法攻击。注意靶场是可以练习的平台,不能随意去尚未授权的网站做渗透测试!!! …

在win10上安装pytorch-gpu版本2

安装anaconda即下载了python,还可以创建虚拟环境。 目录 1.1 anaconda安装 1.2 pytorch-gpu安装 1.1 Anaconda安装 anaconda的安装请看我之前发的tensoflow-gpu安装,里面有详细的安装过程,这里不做重复描述,传送门 1.2 pyt…

羊大师提示,羊奶都有哪些惊人功效?

羊奶不仅是一种美味的健康饮品,在近年来备受瞩目的的健康圈子里,羊奶还被赋予了更多的功效,成为一种备受推崇的保健品。羊奶不但富含营养,而且还有着非常多的益处,它能够用来美容、保健,甚至还可以治疗某些…

【Java】多线程-单例模式/volatile-指令重排序

单例模式即代码中只有一个实例的模式 适用场景:有些场景下,有的类只能有一个对象,不能有多个 要注意:在单例模式下,要保证不能产生多个实例 1、饿汉模式 class Singleton{private static Singleton instance new …

Mybatis plus 简介

简介 MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 官网:https://baomidou.com/pages/24112f/ 特性 无侵入&…

《QT从基础到进阶·三十八》QWidget实现炫酷log日志打印界面

QWidget实现了log日志的打印功能,不仅可以在界面显示,还可以生成打印日志。先来看下效果,源码放在文章末尾: LogPlugin插件类管理log所有功能,它可以获取Log界面并能打印正常信息,警告信息和错误信息&…

runnergo全栈测试平台

一、全栈测试平台runnergo使用 官网 官方使用文档 二、单接口测试 三、性能测试 1.性能测试 2.性能测试报告 四、自动化测试(暂时不支持UI自动化,或许会上)

Jmeter 压测实战保姆级入门教程

1、Jmeter本地安装 1.1、下载安装 软件下载地址: https://mirrors.tuna.tsinghua.edu.cn/apache/jmeter/binaries/ 选择一个压缩包下载即可 然后解压缩后进入bin目录直接执行命令jmeter即可启动 1.2 修改语言 默认是英文的,修改中文,点击…

使用Java Servlet生成动态二维码

文章目录 引入ZXing库创建QRCodeServlet部署到Servlet容器拓展功能1. 动态生成二维码内容2. 调整二维码尺寸3. 错误修正级别4. 日志输出 结语 🎉欢迎来到Java学习路线专栏~探索Java中的静态变量与实例变量 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页&…

【追求卓越04】数据结构--栈与队列

引导 今天我们开始学习栈与队列的内容,我觉得栈并不难,所以篇幅也就不会那么多了。在虚拟空间中,栈是用户空间中的一种数据结构,它主要用于保存局部变量。那么问题来了,为什么用栈来保存局部变量,不用别的数…

Go 语言函数、参数和返回值详解

函数是一组语句,可以在程序中重复使用。函数不会在页面加载时自动执行。函数将通过调用函数来执行。 创建函数 要创建(通常称为声明)一个函数,请执行以下操作: 使用 func 关键字。指定函数的名称,后跟括…

10年开发工程师总结,8大主流程序员兼职平台,月入30k不是梦!

今年互联网行业陆续裁员减薪,许多人怨声载道的同时也开始另谋出路。而对于程序员更是应该提早做好准备,活跃在兼职接单的最前沿。 我们程序员是一门技术工种,与互联网其他行业相比薪水会相对高一点,不过钱也不是那么好赚的&#…