当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


MySQL GREATEST()用法及代码示例


MySQL中的GREATEST()函数用于分别从给定参数中找到最大值。如果任何给定值为NULL,则返回NULL。否则,它将返回最大值。

用法:

GREATEST(X1, X2, X3, ...)

参数:如上所述,该方法接受语法中的N个参数,如下所述:
X1,X2,X3…:要评估的最大值的列表。
返回:它返回最大值。

Example-1:
使用GREATEST()函数查找给定数字之间的最大数字。

SELECT GREATEST(10, 20, 30, 40, 50) AS Greatest_Value;

输出:



Greatest_Value
50

示例2:
使用GREATEST()函数查找给定字符串之间的最大值。

SELECT GREATEST('MySQL', 'MS ACCESS', 'SQL') AS  GreatestValue_String;

输出:

GreatestValue_String
SQL

示例3:
当值为NULL时,使用GREATEST()函数在给定数字之间查找最大数。

SELECT GREATEST(10, 20, 30, 40, 50, NULL) AS Greatest_Value;

输出:

Greatest_Value
NULL

示例4:
GREATEST函数还可用于查找列数据之间的最大值。为了演示,创建一个名为Student的表。

CREATE TABLE Student(
    Student_id INT AUTO_INCREMENT,  
    Student_name VARCHAR(100) NOT NULL,
    Student_Class VARCHAR(20) NOT NULL,
    Subject1 INT  NOT NULL,
    Subject2 INT  NOT NULL,
    Subject3 INT  NOT NULL,
    Subject4 INT  NOT NULL,
    PRIMARY KEY(Student_id )
);

现在将一些数据插入到Student表中-

INSERT INTO  
    Student(Student_name, Student_Class, Subject1, Subject2, Subject3, Subject4)
VALUES
    ('Sayan', 'X', 81, 90, 86, 92 ),
    ('Nitin', 'X', 90, 84, 88, 91 ),
    ('Aniket', 'X', 81, 80, 87, 95 ),
    ('Abdur', 'X', 85, 90, 80, 90  ),
    ('Sanjoy', 'X', 88, 82, 84, 90 );

显示学生表中的所有数据-

Select * 
From Student ;
学生卡 Student_name Student_Class 主题1 主题2 主题3 主题4
1 Sayan X 81 90 86 92
2 Nitin X 90 84 88 91
3 Aniket X 81 80 87 95
4 Abdur X 85 90 80 90
5 Sanjoy X 88 82 84 90

现在,我们将为所有学科的每个学生找到最出色的成绩。

Select Student_id, Student_name, 
GREATEST(Subject1, Subject2, Subject3, Subject4) AS Greatest_Mark
FROM Student;

输出:

学生卡 Student_name Greatest_Mark
1 Sayan 92
2 Nitin 91
3 Aniket 95
4 Abdur 90
5 Sanjoy 90

注:本文由纯净天空筛选整理自 GREATEST() function in MySQL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。