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

MySQLのMAX()関数とMIN()関数を使ってテーブルから最新・最古の日付を取得する方法

MySQLでテーブルから最新の日付を取得したい場合は、日付型の値が格納されているカラム名を MAX() 関数の引数に指定します。逆に、最も古い日付を取得したい場合は、同じく日付型のカラム名を MIN() 関数の引数として渡します。

サンプルテーブル「Collegedetail」

動作を理解するために、以下のようなデータを持つテーブル「Collegedetail」を例に考えてみましょう。

mysql> Select * from collegedetail;
+------+---------+------------+
| ID   | Country | estb       |
+------+---------+------------+
| 111  | INDIA   | 2010-05-01 |
| 130  | INDIA   | 1995-10-25 |
| 139  | USA     | 1994-09-25 |
| 1539 | UK      | 2001-07-23 |
| 1545 | Russia  | 2010-07-30 |
+------+---------+------------+
5 rows in set (0.00 sec)

このテーブルには、大学のID、国名、そして設立日(estb)が登録されています。ここから最も古い設立日の大学と、最も新しい設立日の大学の日付をそれぞれ取り出してみます。

MIN() と MAX() を使ったクエリ例

MIN() 関数で最古の日付を、MAX() 関数で最新の日付を一度に取得するには、次のように1つのSELECT文にまとめて記述できます。

mysql> Select MIN(estb), MAX(estb) from collegedetail;
+------------+------------+
| MIN(estb)  | MAX(estb)  |
+------------+------------+
| 1994-09-25 | 2010-07-30 |
+------------+------------+
1 row in set (0.19 sec)

結果の解釈

  • MIN(estb) = 1994-09-25: テーブル内で最も古い(最も早い)日付です。
  • MAX(estb) = 2010-07-30: テーブル内で最も新しい(最も遅い)日付です。

このように、MIN()MAX() は数値だけでなく日付型のカラムにもそのまま使えるため、GROUP BY句と組み合わせれば国ごとの最古・最新の日付を集計することなども簡単に行えます。

  1. MySQLで現在の日付とテーブル内の日付レコードの差を求める方法

    現在の日付とテーブルに保存された日付レコードの差(日数)を求めるには、MySQLの DATEDIFF() 関数を使用します。この関数は、2つの日付の差を日数で返してくれる便利な関数です。ここでは、実際にテーブルを作成し、データを挿入して、現在の日付との差を計算する手順を順番に見ていきましょう。1. テーブルの作成まず、日付型のカラムを持つテーブルを作成します。mysql> create table DemoTable1446-> (-> DueDate date-> );Query OK, 0 rows affected (1.42 sec)2. レコードの挿入次に、I

  2. MySQLでテーブルの日付レコードを変更する方法|UPDATEとDATE_ADD()の使い方

    MySQLで保存済みの日付データに年数を加算して変更したい場合、UPDATEコマンドとDATE_ADD()関数を組み合わせることで簡単に実現できます。ここでは、実際のSQLクエリ例を使いながら、日付レコードを変更する手順を順番に解説します。1. テーブルを作成するまず、日付型(date)のカラムを持つテーブルを作成します。mysql> create table DemoTable1984 ( ShippingDate date ); Query OK, 0 rows affected (0.00 sec)2. レコードを挿入する次に、INSERTコマンドを使ってテ