フィールドの最も以前の値、最小値の値を取得するSQLを紹介します。
概要
テーブルのレコード内で、フィールドの値の最小値を取得したい場合があります。
この記事では、MIN関数を利用して、フィールドの値の最小値を取得するSQLを紹介します。
例1:値の最小値を求める例
以下のテーブルを用意します。
Productsid | model | name | class | category | price |
1 | C-XM01 | モーダンチェア | ホーム | チェア | 56000 |
2 | X-XD05 | ラージデスク | オフィス | テーブル | 87000 |
3 | A-DA40 | ラウンドダイニングチェア | ホーム | チェア | 28000 |
4 | O-XX100 | ナチュラルオフィス | オフィス | チェア | 13800 |
5 | R-D400 | ラウンドダイニングテーブル | ホーム | テーブル | 128000 |
6 | R7000 | ウッドキャビネット | オフィス | その他 | 32000 |
7 | B-200 | リネンベッド | ホーム | ベッド | 184500 |
8 | B-250 | ホワイトダブルベッド | ホーム | ベッド | 324850 |
9 | W-80 | ワーキングチェア | オフィス | チェア | 45000 |
10 | EG-10X | エルゴノミクスデスク | オフィス | テーブル | 88500 |
11 | NC-208 | ナチュラルウッドチェア | ホーム | チェア | 128000 |
最小値を求める
price(価格)の最小値を求めます。
次のSQLを実行します。
select MIN(price) from Products
実行結果は以下になります。priceの最小値が取得できました。
条件内での最小値を求める
classが"ホーム"のレコードのprice(価格)の最小値を求める場合は、次のSQLを実行します。
select MIN(price) from Products where class='ホーム'
実行結果は以下になります。classが"ホーム"のレコードでのpriceの最小値(id=11 の"ナチュラルウッドチェア"のprice)が取得できました。
例2:日付の最小値のレコードを求める例
以下のテーブルを用意します。
ExamScoreid | date | name | category | score |
1 | 2022-04-16 | ぺんた | 国語 | 88 |
2 | 2022-04-15 | ぺんみ | 国語 | 90 |
3 | 2022-04-17 | ぺんた | 算数 | 75 |
4 | 2022-04-17 | ぺんみ | 算数 | 94 |
5 | 2022-08-13 | ぺんた | 国語 | 76 |
6 | 2022-08-13 | ぺんみ | 国語 | 85 |
7 | 2022-08-14 | ぺんた | 算数 | 64 |
8 | 2022-08-14 | ぺんみ | 算数 | 92 |
9 | 2022-12-10 | ぺんた | 国語 | 85 |
10 | 2022-12-10 | ぺんみ | 国語 | 78 |
11 | 2022-12-10 | ぺんた | 算数 | 94 |
12 | 2022-12-11 | ぺんみ | 算数 | 82 |
最も以前の日付の値を取得します。
最も以前の日を求める
date(日付)の最小値を求めます。
次のSQLを実行します。
select MIN(date) from ExamScore
実行結果は以下になります。dateの最小値が取得できました。
(列名なし) |
2022-04-15 00:00:00.000 |
条件内での最新日を求める
nameが"ぺんた"のレコードに絞って、最も以前の日を求めます。次のSQLを実行します。
select MIN(date) from ExamScore where name='ぺんた'
実行結果は以下になります。name='ぺんた' でのdateの最小値が取得できました。
(列名なし) |
2022-04-16 00:00:00.000 |
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2023-08-29
作成日: 2023-08-29