📜  MySQL 中的 GREATEST()函数

📅  最后修改于: 2022-05-13 01:54:22.300000             🧑  作者: Mango

MySQL 中的 GREATEST()函数

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

句法 :

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

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

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

现在插入一些数据到学生表 -

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_idStudent_nameStudent_ClassSubject1Subject2Subject3Subject4
1SayanX81908692
2NitinX90848891
3AniketX81808795
4AbdurX85908090
5SanjoyX88828490

现在,我们将为每个学生在所有科目中找到最高分。

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

输出 :

Student_idStudent_nameGreatest_Mark
1Sayan92
2Nitin91
3Aniket95
4Abdur90
5Sanjoy90