MySQLで最高額の給与を取得する方法
MySQLで最高額の給与を取得するには?
テーブルの中から最も高い給与(最高額の給料)を取得したい場合は、集計関数の MAX() を使用します。MAX() 関数は、指定したカラムの中で最大の値を返してくれる便利な関数です。
基本構文
select MAX(yourColumnName) AS anyAliasName from yourTableName;
サンプルテーブルの作成
まず、実際に動作を確認するためのテーブルを作成しましょう。
mysql> create table demo44
-> (
-> employee_id int not null auto_increment primary key,
-> employee_name varchar(20),
-> employee_salary int
-> )
-> ;
Query OK, 0 rows affected (1.27 sec)
レコードの挿入
次に、INSERT文を使って従業員データを登録していきます。
mysql> insert into demo44(employee_name,employee_salary) values('John',3000);
Query OK, 1 row affected (0.13 sec)
mysql> insert into demo44(employee_name,employee_salary) values('David',4500);
Query OK, 1 row affected (0.12 sec)
mysql> insert into demo44(employee_name,employee_salary) values('Bob',3500);
Query OK, 1 row affected (0.12 sec)
mysql> insert into demo44(employee_name,employee_salary) values('Carol',5500);
Query OK, 1 row affected (0.15 sec)
mysql> insert into demo44(employee_name,employee_salary) values('Mike',4900);
Query OK, 1 row affected (0.13 sec)
登録データの確認
SELECT文を使って、テーブルに登録されたレコードを表示してみましょう。
mysql> select *from demo44;
実行結果は以下の通りです。
+-------------+---------------+-----------------+ | employee_id | employee_name | employee_salary | +-------------+---------------+-----------------+ | 1 | John | 3000 | | 2 | David | 4500 | | 3 | Bob | 3500 | | 4 | Carol | 5500 | | 5 | Mike | 4900 | +-------------+---------------+-----------------+ 5 rows in set (0.00 sec)
最高額の給与を取得するクエリ
それでは、MAX() 関数を使って最も高い給与を取得してみましょう。AS キーワードを使うことで、結果のカラムに「Highest_Salary」といったわかりやすい別名(エイリアス)を付けることができます。
mysql> select MAX(employee_salary) AS Highest_Salary from demo44;
実行結果は以下の通りです。
+----------------+ | Highest_Salary | +----------------+ | 5500 | +----------------+ 1 row in set (0.00 sec)
このように、MAX() 関数を使えば簡単に最高額の給与を取得できます。今回の例では、Carolさんの5500が最高額の給与であることがわかります。
補足:最高給与の従業員名も一緒に取得するには
最高額の給与だけでなく、その該当者の名前も取得したい場合は、ORDER BY と LIMIT を組み合わせる方法が便利です。
mysql> select employee_name, employee_salary
-> from demo44
-> order by employee_salary desc
-> limit 1;
このクエリを実行すると、給与の降順で並べ替えた先頭の1件、つまり最高額の給与を受け取っている従業員の名前と金額を同時に取得できます。
-
MySQLでn番目に高い値を取得する方法をわかりやすく解説
MySQLでn番目に高い値を取得する方法MySQLでテーブル内のn番目に高い値を取得したい場合、ORDER BY句とLIMIT句を組み合わせることで簡単に実現できます。基本構文n番目に高い値を選択するための基本的な構文は以下の通りです。SELECT DISTINCT(カラム名) FROM テーブル名 ORDER BY カラム名 DESC LIMIT (n番目の値 - 1), 1;ポイントはLIMIT句の使い方です。第1引数に「(n番目 - 1)」を指定することで、降順に並べ替えた結果から指定した位置のレコードを1件だけ取得できます。また、DISTINCTを使用することで、重複する値を除外した上
-
MySQLで月を指定してデータを抽出する方法(MONTH()関数の使い方)
MySQLで日付データから特定の「月」に該当するレコードだけを抽出したい場合は、MONTH()関数を使うのが便利です。この記事では、実際にテーブルを作成し、サンプルデータを挿入しながら、月を条件にしたSELECT文の書き方を具体的に解説します。1. サンプルテーブルの作成まずは、出荷日(Shippingdate)を格納するdatetime型のカラムを持つテーブルを作成します。mysql> create table DemoTable1599 -> ( -> Shippingdate d