SQL知识点:min和max函数用于取第一
min和max函数
通常与 GROUP BY 子句一起使用,以便在分组的数据上计算每个组的最小值和最大值。但是,它们也可以在没有 GROUP BY 的情况下使用,此时它们会返回整个查询结果集中的最小值和最大值。
- 功能
- MIN(column_name) 返回指定列中的最小值。
- MAX(column_name) 返回指定列中的最大值。
- 用法
- 这两个函数都可以接受数值列、日期列或字符串列作为参数。对于数值列,它们返回数值上的最小或最大值。对于日期列,它们返回日期上的最早或最晚值。对于字符串列,它们通常返回按字典顺序排列的最小或最大字符串(这取决于数据库的排序规则)。
- 返回值
- MIN 和 MAX 函数返回与输入列相同类型的数据。
- 性能
- 在大多数数据库系统中,MIN 和 MAX 函数通常比其他聚合函数(如 SUM 或 AVG)执行得更快,因为它们只需要遍历数据一次来找到最小或最大值。
案例1:假设有一个名为 Employees 的表,其中包含 Salary(薪水)列。要找到最低和最高的薪水,可以使用以下查询:
SELECT MIN(Salary) AS MinimumSalary, MAX(Salary) AS MaximumSalary FROM Employees;
如果表还包含 DepartmentID(部门ID)列,并且您想按部门找到最低和最高的薪水,可以使用 GROUP BY 子句:
SELECT DepartmentID, MIN(Salary) AS MinimumSalary, MAX(Salary) AS MaximumSalary
FROM Employees
GROUP BY DepartmentID;
注意事项
- 当使用 MIN 和 MAX 函数时,如果列中包含 NULL 值,这些值将被忽略。
- 对于字符串列,最小值和最大值是根据数据库的排序规则确定的,这可能与人类的直觉不同(特别是涉及不同语言或字符集的排序时)。
- 在某些情况下,您可能需要使用其他函数或表达式来找到“最小”或“最大”的行,而不仅仅是单个列的值。例如,如果您想找到具有最小薪水且满足其他条件的员工,可能需要使用子查询或窗口函数。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix