MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQL Employeeテーブルの最高給与と2番目の最高給与を見つけますか?


LIMIT OFFSETを使用して、従業員テーブルから最大および2番目の最大給与を取得できます。構文は次のとおりです-

SELECT yourColumnName1,yourColumnName2,....N from yourTableName ORDER BY
yourColumnName desc limit 2 offset 0;

上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

mysql> create table EmployeeMaxAndSecondMaxSalary
   -> (
   -> EmployeeId int,
   -> Employeename varchar(20),
   -> EmployeeSalary int
   -> );
Query OK, 0 rows affected (0.88 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into EmployeeMaxAndSecondMaxSalary values(1,'John',34566);
Query OK, 1 row affected (0.20 sec)

mysql> insert into EmployeeMaxAndSecondMaxSalary values(2,'Bob',56789);
Query OK, 1 row affected (0.17 sec)

mysql> insert into EmployeeMaxAndSecondMaxSalary values(3,'Carol',44560);
Query OK, 1 row affected (0.26 sec)

mysql> insert into EmployeeMaxAndSecondMaxSalary values(4,'Sam',76456);
Query OK, 1 row affected (0.29 sec)

mysql> insert into EmployeeMaxAndSecondMaxSalary values(5,'Mike',65566);
Query OK, 1 row affected (0.14 sec)

mysql> insert into EmployeeMaxAndSecondMaxSalary values(6,'David',89990);
Query OK, 1 row affected (0.19 sec)

mysql> insert into EmployeeMaxAndSecondMaxSalary values(7,'James',68789);
Query OK, 1 row affected (0.12 sec)

mysql> insert into EmployeeMaxAndSecondMaxSalary values(8,'Robert',76543);
Query OK, 1 row affected (0.13 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです-

mysql> select *from EmployeeMaxAndSecondMaxSalary;

以下は出力です-

+------------+--------------+----------------+
| EmployeeId | Employeename | EmployeeSalary |
+------------+--------------+----------------+
|          1 | John         | 34566          |
|          2 | Bob          | 56789          |
|          3 | Carol        | 44560          |
|          4 | Sam          | 76456          |
|          5 | Mike         | 65566          |
|          6 | David        | 89990          |
|          7 | James        | 68789          |
|          8 | Robert       | 76543          |
+------------+--------------+----------------+
8 rows in set (0.00 sec)

以下は、制限オフセットを使用して最大および2番目の最大給与を取得するためのクエリです-

mysql> select EmployeeId,Employeename,EmployeeSalary from EmployeeMaxAndSecondMaxSalary order by
   -> EmployeeSalary desc limit 2 offset 0;

出力には、最高給与の2人の従業員の記録が表示されます-

+------------+--------------+----------------+
| EmployeeId | Employeename | EmployeeSalary |
+------------+--------------+----------------+
|          6 | David        |          89990 |
|          8 | Robert       |          76543 |
+------------+--------------+----------------+
2 rows in set (0.00 sec)

  1. MySQLクエリを使用してテーブルの2番目の最大値を見つけますか?

    LIMIT 1OFFSET1を使用できます。最初にテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Value int    -> ); Query OK, 0 rows affected (0.92 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(1); Query OK, 1 row affected (0.13 sec) mysql

  2. MySQL SUM()を使用して合計を検索し、列見出しのエイリアスを指定します

    エイリアスには、エイリアス名を表示する次の構文を使用します- select sum(yourColumnName) as anyAliasName from yourTableName; まずテーブルを作成しましょう- mysql> create table DemoTable1800      (      Salary int      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysq