美文网首页
第九章 SQL聚合函数 MIN

第九章 SQL聚合函数 MIN

作者: Cache技术分享 | 来源:发表于2021-12-30 09:59 被阅读0次

第九章 SQL聚合函数 MIN

返回指定列中的最小数据值的聚合函数。

大纲

MIN([ALL | DISTINCT [BY(col-list)]] expression [%FOREACH(col-list)] [%AFTERHAVING])

参数

  • ALL - 可选-将聚合函数应用于所有值。ALLMIN返回的值没有影响。提供它是为了与SQL-92兼容。
  • DISTINCT - 可选-指定考虑每个唯一值。DISTINCTMIN返回的值没有影响。它是为SQL-92兼容性提供的。
  • expression - 任何有效的表达式。通常是包含要从中返回最小值的值的列的名称。
  • %FOREACH(col-list) - 可选-列名或逗号分隔的列名列表。
  • %AFTERHAVING - 可选-应用HAVING子句中的条件。

MIN返回与表达式相同的数据类型。

描述

MIN聚合函数返回表达式的最小值(最小值)。通常,表达式是查询返回的多行中的字段名称(或包含一个或多个字段名称的表达式)。

MIN可以在引用表或视图的SELECT查询或子查询中使用。MIN可以出现在选择列表或HAVING子句中,与普通字段值一起出现。

MIN不能在WHERE子句中使用。除非SELECT是子查询,否则不能在联接的ON子句中使用MIN

与大多数其他聚合函数一样,min不能应用于流字段。尝试这样做会生成SQLCODE-37错误。

与大多数其他聚合函数不同,ALLDISTINCT关键字(包括MIN(DISTINCT BY(Col2)col1))在MIN中不执行任何操作。它们是为了与SQL-92兼容而提供的。

数据值

MIN使用的指定字段可以是数字或非数字。对于数字数据类型字段,最小值定义为数值中的最低值;因此-7低于-3。对于非数字数据类型字段,最小值定义为字符串整理顺序中的最低值;因此'-3'低于'-7'

空字符串(‘’)值被视为CHAR(0)

谓词使用为字段定义的排序规则类型。默认情况下,字符串数据类型字段使用SQLUPPER排序规则定义,该排序规则不区分大小写。

当字段定义的排序规则类型为SQLUPPER时,MIN将返回全部大写字母的字符串。因此,不管数据的原始字母是什么,SELECT MIN(Name)都会返回‘Aaron’。但是,因为比较是使用大写排序执行的,所以name=min(Name)子句选择名称值为'Aaron', 'AARON', and 'aaron'的行。

对于数值,返回的小数位数与表达式小数位数相同。

在派生最小聚合函数值时,数据字段中的空值将被忽略。如果查询没有返回任何行,或者返回的所有行的数据字段值为NULL,则MIN返回NULL

在当前事务期间所做的更改

与所有聚合函数一样,MIN始终返回数据的当前状态,包括未提交的更改,而不考虑当前事务的隔离级别。

示例

在下面的示例中,美元符号($)连接到工资金额。

以下查询返回Sample.Employee数据库中的最低(最低)工资:

SELECT '$' || MIN(Salary) AS LowSalary
     FROM Sample.Employee

下面的查询为每个州返回一行,每个州至少包含一名薪资大于75,000美元的员工。使用%AFTERHAVING关键字,每行返回大于75,000美元的最低员工工资。每行还返回该状态下所有员工的最低工资和最高工资:

SELECT Home_State,
       '$' || MIN(Salary %AFTERHAVING) AS MinSalaryAbove75K,
       '$' || MIN(Salary) AS MinSalary,
       '$' || MAX(Salary) AS MaxSalary
          FROM Sample.Employee
     GROUP BY Home_State
     HAVING Salary > 75000
     ORDER BY MinSalaryAbove75K

以下查询返回在Sample.Employee数据库中找到的排序规则序列中最小(最小)和最高(最大)的名称:

SELECT Name,MIN(Name),MAX(Name)
     FROM Sample.Employee

请注意,在比较之前,MINMAX会将NAME值转换为大写。

以下查询返回Sample.Employee数据库中Home_State‘VT’的员工的最低(最低)工资:

SELECT MIN(Salary)
     FROM Sample.Employee
     WHERE Home_State = 'VT'

以下查询返回Sample.Employee数据库中每个Home_State的员工数量和最低(最低)员工工资:

SELECT Home_State, 
     COUNT(Home_State) As NumEmployees, 
     MIN(Salary) As LowSalary
     FROM Sample.Employee
     GROUP BY Home_State
     ORDER BY LowSalary

相关文章

  • 第九章 SQL聚合函数 MIN

    第九章 SQL聚合函数 MIN 返回指定列中的最小数据值的聚合函数。 大纲 参数 ALL - 可选-将聚合函数应用...

  • SQL的GROUP BY用法小结

    SQL的GROUP BY用法小结 利用聚合函数进行分组 使用COUNT()、AVG()、MIN()、MAX()等聚...

  • 聚合操作

    一、聚合函数(avg、sum、max、min...) 二、条件聚合 三、嵌套聚合

  • Spark从入门到精通65:Dataset的聚合函数

    1.dataset基本聚合函数 dataset基本聚合函数如下:avg、sum、max、min、count、cou...

  • Power BI |DAX函数のSUMX函数

    SUMX函数小卡片 聚合函数:SUM、AVERAGE、MIN、MAX 和 STDEV 这些聚合函数都作用于列,几乎...

  • 04 - 聚合与排序

    聚合函数 聚合函数 通过 SQL 对数据进行某种操作或计算时需要使用函数。用于汇总的函数称为聚合函数或者聚集函数聚...

  • SQL之GROUP BY & HAVING

    聚合函数 From CSDN 叶子 一、Sql Server 中有哪些聚合函数? 提到聚合函数大家一定会首先想到最...

  • HIVE基础函数

    1、聚合函数 聚合函数max/min/count/sum/avg 特点多进一出hive> select count...

  • SQL聚合函数

    1 SQL中的聚合函数 2.GROUP BY语句   GROUP BY语句用来与聚合函数(aggregate fu...

  • SQL知识点

    --聚合函数:intersect union exceot--聚集函数:max min sum count av...

网友评论

      本文标题:第九章 SQL聚合函数 MIN

      本文链接:https://www.haomeiwen.com/subject/epliqrtx.html