如何从MySQL表中获取雇员薪水记录的前3名薪水?
为此,请使用LIMIT和OFFSET。让我们首先创建一个表-
mysql> create table DemoTable867(EmployeeSalary int);
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable867 values(63737); mysql> insert into DemoTable867 values(899833); mysql> insert into DemoTable867 values(23644); mysql> insert into DemoTable867 values(89393); mysql> insert into DemoTable867 values(534333); mysql> insert into DemoTable867 values(889322);
使用select语句显示表中的所有记录-
mysql> select *from DemoTable867;
这将产生以下输出-
+----------------+ | EmployeeSalary | +----------------+ | 63737 | | 899833 | | 23644 | | 89393 | | 534333 | | 889322 | +----------------+ 6 rows in set (0.00 sec)
这是获得第一高薪的查询-
mysql> select distinct(EmployeeSalary) from DemoTable867 order by EmployeeSalary DESC LIMIT 1;
这将产生以下输出-
+----------------+ | EmployeeSalary | +----------------+ | 899833 | +----------------+ 1 row in set (0.02 sec)
这是获得第二高薪水的查询-
mysql> select distinct(EmployeeSalary) from DemoTable867 order by EmployeeSalary DESC LIMIT 1 OFFSET 1;
这将产生以下输出-
+----------------+ | EmployeeSalary | +----------------+ | 889322 | +----------------+ 1 row in set (0.00 sec)
以下是获得第三高薪水的查询-
mysql> select distinct(EmployeeSalary) from DemoTable867 order by EmployeeSalary DESC LIMIT 1 OFFSET 2;
这将产生以下输出-
+----------------+ | EmployeeSalary | +----------------+ | 534333 | +----------------+ 1 row in set (0.00 sec)