MySQL
supports a LIMIT keyword, which provides pagination capability. We can find the
nth highest salary in MySQL without using sub query.
SELECT
salary FROM Employee ORDER BY salary DESC LIMIT N-1, 1;
4rth highest salary in MySQL with LIMIT clause:
-- use database
use
abusecore;
-- creating Employee
table in mysql
CREATE
TABLE Employee (name varchar(10), salary int);
-- inserting sample
data into Employee table
INSERT
INTO Employee VALUES ('Mill', 3000);
INSERT
INTO Employee VALUES ('Sham', 4000);
INSERT
INTO Employee VALUES ('Jack', 3000);
INSERT
INTO Employee VALUES ('Pats', 5000);
INSERT
INTO Employee VALUES ('Rock', 7000);
-- 4rth highest salary
in MySQL
SELECT
salary FROM Employee ORDER BY Salary DESC LIMIT 3,1
-- Output:
3000
Nth highest salary in MySQL with LIMIT
clause:
SELECT
salary FROM Employee ORDER BY Salary DESC LIMIT n-1,1;
This
approach is faster than correlated query approach but its vendor dependent.
No comments:
Post a Comment