MySQL-এ কর্মচারী টেবিল থেকে সর্বোচ্চ (Max) এবং দ্বিতীয় সর্বোচ্চ (Second Max) বেতন বের করতে সাবকোয়েরি ব্যবহার করুন।
সিনট্যাক্স
SELECT
(SELECT MAX(`salary`) FROM `emp`) AS `MaximumSalary`,
(SELECT MAX(`salary`) FROM `emp`
WHERE `salary` NOT IN (SELECT MAX(`salary`) FROM `emp`)) AS `SecondMaximumSalary`;
উদাহরণ
CREATE TABLE `EmployeeMaxAndSecondMaxSalary` (
`EmployeeId` INT, `EmployeeName` VARCHAR(20), `EmployeeSalary` INT
);
INSERT INTO `EmployeeMaxAndSecondMaxSalary` VALUES
(1,'John',34566), (2,'Bob',56789), (3,'Carol',44560),
(4,'Sam',76456), (5,'Mike',65566), (6,'David',89990),
(7,'James',68789), (8,'Robert',76543);
কোয়েরি
SELECT
(SELECT MAX(`EmployeeSalary`) FROM `EmployeeMaxAndSecondMaxSalary`) AS `MaximumSalary`,
(SELECT MAX(`EmployeeSalary`) FROM `EmployeeMaxAndSecondMaxSalary`
WHERE `EmployeeSalary` NOT IN (SELECT MAX(`EmployeeSalary`) FROM `EmployeeMaxAndSecondMaxSalary`))
AS `SecondMaximumSalary`;
ফলাফল:
+---------------+---------------------+
| MaximumSalary | SecondMaximumSalary |
+---------------+---------------------+
| 89990 | 76543 |
+---------------+---------------------+
বিকল্প (LIMIT/OFFSET): SELECT salary FROM emp ORDER BY salary DESC LIMIT 1 OFFSET 1; — দ্বিতীয় সর্বোচ্চ বের করতে।