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_id | Student_name | Student_Class | Subject1 | Subject2 | Subject3 | Subject4 |
---|---|---|---|---|---|---|
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_id | Student_name | Greatest_Mark |
---|---|---|
1 | Sayan | 92 |
2 | Nitin | 91 |
3 | Aniket | 95 |
4 | Abdur | 90 |
5 | Sanjoy | 90 |