MySQL min()函数

转载自  MySQL min()函数

MySQL MIN函数

MIN()函数返回一组值中的最小值。MIN()函数在某些情况下非常有用,例如找到最小的数字,选择最便宜的产品,获得最低的信用额度等。

以下说明MIN()函数的语法:

MIN(DISTINCT expression);

如果指定DISTINCT运算符,则MIN函数返回不同值的最小值,与省略DISTINCT相同。换句话说,DISTINCT运算符对MIN函数没有任何影响,它只是为了ISO兼容性。

请注意,DISTINCT运算符在其他聚合函数(如SUM,AVG和COUNT)中生效。

MySQL MIN函数示例

我们来看看示例数据库(yiibaidb)中的products表,其结构如下表所示 -

mysql> desc products;
+--------------------+---------------+------+-----+---------+------------------+
| Field              | Type          | Null | Key | Default | Extra            |
+--------------------+---------------+------+-----+---------+------------------+
| productCode        | varchar(15)   | NO   | PRI |         |                  |
| productName        | varchar(70)   | NO   | MUL | NULL    |                  |
| productLine        | varchar(50)   | NO   | MUL | NULL    |                  |
| productScale       | varchar(10)   | NO   |     | NULL    |                  |
| productVendor      | varchar(50)   | NO   |     | NULL    |                  |
| productDescription | text          | NO   |     | NULL    |                  |
| quantityInStock    | smallint(6)   | NO   |     | NULL    |                  |
| buyPrice           | decimal(10,2) | NO   |     | NULL    |                  |
| MSRP               | decimal(10,2) | NO   |     | NULL    |                  |
| stockValue         | double        | YES  |     | NULL    | STORED GENERATED |
+--------------------+---------------+------+-----+---------+------------------+
10 rows in set

要查询获得products表中最便宜的产品,请使用以下查询:

SELECT MIN(buyPrice)
FROMproducts;

执行上面查询语句,得到以下结果 

mysql> SELECT MIN(buyPrice)
FROMproducts;
+---------------+
| MIN(buyPrice) |
+---------------+
| 15.91         |
+---------------+
1 row in set

 

MySQL MIN与子查询

要不仅选择价格,还要查询产品代码和产品名称等其他产品信息,可以在子查询中使用MIN函数,如下所示:

SELECT productCode, productName, buyPrice
FROMproducts
WHEREbuyPrice = (SELECT MIN(buyPrice)FROMproducts);

执行上面查询语句,得到以下结果 -

+-------------+-------------------------------------+----------+
| productCode | productName                         | buyPrice |
+-------------+-------------------------------------+----------+
| S24_2840    | 1958 Chevy Corvette Limited Edition | 15.91    |
+-------------+-------------------------------------+----------+
1 row in set

上面语句怎么运行?

  • 子查询返回products表中最低的价格产品。
  • 外部查询查询价格等于从子查询返回的最低价格的商品。

MySQL MIN与GROUP BY

当您将MIN函数与SELECT语句中的GROUP BY子句相结合使用时,可以获取每个组的最小值。

例如,要查询每个产品线的最低价格产品,请使用以下语句:

SELECT productline, MIN(buyprice)
FROMproducts
GROUP BY productline;

执行上面查询语句,得到以下结果 -

mysql> SELECT productline, MIN(buyprice)
FROMproducts
GROUP BY productline;
+------------------+---------------+
| productline      | MIN(buyprice) |
+------------------+---------------+
| Classic Cars     | 15.91         |
| Motorcycles      | 24.14         |
| Planes           | 29.34         |
| Ships            | 33.3          |
| Trains           | 26.72         |
| Trucks and Buses | 24.92         |
| Vintage Cars     | 20.61         |
+------------------+---------------+
7 rows in set

如果您不仅要选择产品线,还要查询products表中的其他列,例如产品代码和产品名称,则需要使用相关的子查询。

 

MySQL MIN与相关子查询

以下查询通过将MIN()函数与相关子查询相结合来查询每个产品线中的最低价格产品:

SELECT productline, productCode, productName, buyprice
FROMproducts a
WHEREbuyprice = (SELECT MIN(buyprice)FROMproducts bWHEREb.productline = a.productline);

执行上面查询语句,得到以下结果 -

+------------------+-------------+-------------------------------------------+----------+
| productline      | productCode | productName                               | buyprice |
+------------------+-------------+-------------------------------------------+----------+
| Trucks and Buses | S18_2432    | 1926 Ford Fire Engine                     | 24.92    |
| Vintage Cars     | S24_2022    | 1938 Cadillac V-16 Presidential Limousine | 20.61    |
| Classic Cars     | S24_2840    | 1958 Chevy Corvette Limited Edition       | 15.91    |
| Planes           | S24_3949    | Corsair F4U ( Bird Cage)                  | 29.34    |
| Motorcycles      | S32_2206    | 1982 Ducati 996 R                         | 24.14    |
| Trains           | S32_3207    | 1950s Chicago Surface Lines Streetcar    | 26.72    |
| Ships            | S72_3212    | Pont Yacht                                | 33.3     |
+------------------+-------------+-------------------------------------------+----------+
7 rows in set

对于来自外部查询的每个产品线,相关子查询选择产品线中的最低价格产品并返回最低价格。 然后将返回的最低价格用作外部查询的输入,以选择相关产品数据,包括产品线,产品代码,产品名称和价格。

如果要在不使用MIN函数和子查询的情况下实现相同的结果,则可以使用带有LEFT JOIN子句的自联接,如下查询语句:

SELECT a.productline, a.productCode, a.productName, a.buyprice
FROMproducts aLEFT JOINproducts b ON a.productline = b.productlineAND b.buyprice < a.buyprice
WHEREb.productcode IS NULL;

执行上面查询语句,得到以下结果 -

+------------------+-------------+-------------------------------------------+----------+
| productline      | productCode | productName                               | buyprice |
+------------------+-------------+-------------------------------------------+----------+
| Trucks and Buses | S18_2432    | 1926 Ford Fire Engine                     | 24.92    |
| Vintage Cars     | S24_2022    | 1938 Cadillac V-16 Presidential Limousine | 20.61    |
| Classic Cars     | S24_2840    | 1958 Chevy Corvette Limited Edition       | 15.91    |
| Planes           | S24_3949    | Corsair F4U ( Bird Cage)                  | 29.34    |
| Motorcycles      | S32_2206    | 1982 Ducati 996 R                         | 24.14    |
| Trains           | S32_3207    | 1950's Chicago Surface Lines Streetcar    | 26.72    |
| Ships            | S72_3212    | Pont Yacht                                | 33.3     |
+------------------+-------------+-------------------------------------------+----------+
7 rows in set

在本教程中,您已经学习了如何使用MySQL MIN函数来查找一组值中的最小值。

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

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

相关文章

使用 C# 运行符号测试

若有需前后对比的数据&#xff0c;且要确定某种效果是否有统计依据&#xff0c;最常使用的是符号检验。通过举例可以很好地解释这个原理。 假设你在一家制药公司工作&#xff0c;想要确定一种新型减肥药是否有效。你找来八名志愿者服用这种减肥药长达几周的时间。观察八名实验对…

程序人生

在大家眼里程序员是什么样子的呢&#xff1f;是每天不分日夜的在打代码&#xff1f;还是忙来忙去的帮着被人修电脑&#xff0c;调路由器&#xff1f;还是&#xff1f;或者&#xff1a;哈哈哈&#xff0c;作为一个程序员&#xff0c;我是这样的&#xff1a;下班之后先做饭&#…

2020蓝桥杯省赛---java---B---7(分类计数)

题目描述 代码实现 package com.atguigu.lanqiao;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);long a sc.nextLong();while (a>1){System.out.print(a" ");a/2;}} }

dw怎么在框架中加入网页_怎样使用iframe,在网页中插入页面

首先&#xff0c;我们使用DreamWeaver新建一个站点&#xff0c;将我们需要归纳到一个页面的网页都包含在这个站点里面。然后我们找到一个需要嵌入页面的html文件&#xff0c;使用DW软件打开&#xff0c;找到需要插入页面的位置。3然后我们输入标签。在前半个标签的里面&#xf…

ps中将图片拖不进ps的编辑区的解决方法

今天在学习ps的过程中&#xff0c;发现我的ps怎么和人家老师的不一样&#xff0c;怎么不一样呢&#xff1f;人家老师的ps5中&#xff0c;鼠标可以直接拖到ps的编辑栏中&#xff0c;可是我的死活拖不进去。怎么办&#xff1f;怎么办&#xff1f;经过自己瞎鼓捣和上网查&#xff…

MySQL avg()函数

转载自 MySQL avg()函数 MySQL AVG()函数简介 MySQL AVG()函数是一个聚合函数&#xff0c;它用于计算一组值或表达式的平均值。 AVG()函数的语法如下&#xff1a; AVG(DISTINCT expression)您可以使用AVG()函数中的DISTINCT运算符来计算不同值的平均值。 例如&#xff0c;…

.Net Core迁移到MSBuild的多平台编译问题

一、前言 本篇主要讨论.NET Core应用程序项目结构的主题&#xff0c;重点探索.NET Core应用程序的多平台编译问题&#xff0c;这里指的多平台是指.NET Framework、.NET Core App、.NET Standard、Mono、UWP等多平台的条件编译、项目&#xff08;包&#xff09;引用、编译符号等…

strcompare php,PHP中的startswith()和endsWith()函数

泛舟湖上清波郎朗功能function substr_startswith($haystack, $needle) {return substr($haystack, 0, strlen($needle)) $needle;}function preg_match_startswith($haystack, $needle) {return preg_match(~ . preg_quote($needle, ~) . ~A, $haystack) > 0;}function su…

2020蓝桥杯省赛---java---B---8(走方格)

题目描述 【问题描述】在平面上有一些二维的点阵。 这些点的编号就像二维数组的编号一样&#xff0c;从上到下依次为第 1 至第 n 行&#xff0c;从左到右依次为第 1 至第 m 列&#xff0c;每一个点可以用行号和列号来表示。现在有个人站在第 1 行第 1 列&#xff0c;要走到第 …

我是一位老师,讲课是我的乐趣,可是……

我是一位老师&#xff0c;讲课是我的乐趣&#xff0c;但是作为一个班的老师除了给学生讲课之外&#xff0c;我们还需要其他的管理&#xff0c;比如控班&#xff0c;比如管理学生、指导学生&#xff0c;学生不做作业怎么办&#xff0c;学生不听课怎么办&#xff1f;或者学生上课…

MySQL max()函数

转载自 MySQL max()函数 MySQL MAX函数介绍 MySQL MAX()函数返回一组值中的最大值。MAX()函数在许多查询中非常方便&#xff0c;例如查找最大数量&#xff0c;最昂贵的产品以及客户的最大付款。 MAX()函数的语法如下&#xff1a; MAX(DISTINCT expression);如果添加DISTIN…

当我们在谈大前端的时候,我们谈的是什么

在今天&#xff0c;大前端并不是一个陌生的词汇&#xff0c;我们偶尔会听人谈起它&#xff0c;前些天还看到卓同学写了一篇《大前端时代下App开发者的生存之道》&#xff0c;说明这个词开始成为某种共识了。 但是大前端到底指的是什么&#xff1f;事实上大前端并没有明确的定义…

153. 寻找旋转排序数组中的最小值---LeetCode---JAVA

class Solution {public int findMin(int[] nums) {int minnums[0];for(int i1;i<nums.length;i){if(nums[i]<min){return nums[i];} }return nums[0];} }

php破坏代码,php不破坏单词截取子字符串

php不破坏单词截取子字符串/*snippet(phrase,[max length],[phrase tail])snippetgreedy(phrase,[max length before next space],[phrase tail])*/function snippet($text,$length64,$tail"...") {$text trim($text);$txtl strlen($text);if($txtl > $length) …

hibernate中报错could not initialize proxy - no Session的解决方法

hibernate中报错&#xff1a;could not initialize proxy - no Session&#xff0c;怎么解决&#xff1f; 解决方法&#xff1a; 在该hbm文件中的 many-to-one 的最后加上&#xff1a;lazy”false”&#xff0c;请看&#xff1a; <many-to-one name"kecheng" cl…

MySQL group_concat()函数

转载自 MySQL group_concat()函数 MySQL GROUP_CONCAT函数介绍 MySQL GROUP_CONCAT()函数将组中的字符串连接成为具有各种选项的单个字符串。 下面说明了GROUP_CONCAT()函数的语法&#xff1a; GROUP_CONCAT(DISTINCT expressionORDER BY expressionSEPARATOR sep);以下是…

MySQL标准偏差

转载自 MySQL标准偏差 标准差介绍 标准差是衡量数据集中值的分布情况&#xff0c;标准偏差显示平均值(平均值)存在多少变化。 低标准偏差表明数据集中的值接近于平均值。 而高标准偏差表示数据集的值在大范围的值上分散。 标准偏差是方差的平方根&#xff0c;可以通过以下…

从Visual Studio看微软20年技术变迁

前言 这个世界从来都不缺变革&#xff0c;从工业革命到晶体管和集成电路&#xff0c;从生活电器到物联网&#xff0c;从简陋人机到精致体验&#xff0c;我们在享受技术带来的便捷的同时&#xff0c;也在为复杂设计而带来的挑战和生产力下降而痛并快乐着。而迫切期盼的&#xff…

c传给php数据解包,小程序源码提取工具,完美解包,一键提取小程序源代码工具_PHP源码...

请注意&#xff1a;该源码来源网友分享&#xff0c;搜库资源网不提供技术支持&#xff0c;没有技术能力的小白勿拍。(如需安装服务费用另算)直接解压后就可以使用将小程序文件放到 wxapkg目录下然后打开 CrackMinApp.exe 按说明即可使用那么如何才能在手机里找到小程序的源文件…

2015蓝桥杯省赛---java---C---3(无穷分数)

题目描述 思路分析 它的结果会随着运算的次数越多,会越来越精确一个值,我们只需要把那个大约值求出来即可. 代码实现 package com.atguigu.lanqiao;public class Main {public static void main(String[] args) {System.out.printf("%.5f",f(1));}public static d…