如何獲取 MySQL 表格中包含員工薪酬記錄的前 3 個薪酬?


為此,使用 LIMIT 和 OFFSET。我們首先建立一個表 -

mysql> create table DemoTable867(EmployeeSalary int);
Query OK, 0 rows affected (0.64 sec)

使用 insert 命令在表中插入一些記錄 -

mysql> insert into DemoTable867 values(63737);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable867 values(899833);
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable867 values(23644);
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable867 values(89393);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable867 values(534333);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable867 values(889322);
Query OK, 1 row affected (0.08 sec)

使用 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)

更新日期:2019-09-03

1000+瀏覽量

啟動你的職業生涯

完成課程以獲得認證

開始
廣告
© . All rights reserved.