Oracle 最大値を求める 集約関数「MAX」

スポンサーリンク
スポンサーリンク

最大値を求める 集約関数「MAX」

集約関数の「MAX」を使うと、最大値を求めることができます。

集約関数「MAX」の基本構文

「ALL」と「DISTINCT」はオプションですがつける意味がないので基本使用することはありません。

MAX([ALL | DISTINCT] <数値式>)

検証用のテーブルとデータの用意

以下のテーブルとデータを使用して検証を行っていきましょう。

TEST_TABLE
idyearmonthsales
00120191100
00220191200
00320192200
00420192NULL
SQL> CREATE TABLE test_table
  2  (
  3      id     VARCHAR2(3)
  4      ,year  NUMBER
  5      ,month NUMBER
  6      ,sales NUMBER
  7  );

表が作成されました。

SQL> INSERT ALL
  2  INTO test_table VALUES('001', '2019', '1' , '100')
  3  INTO test_table VALUES('002', '2019', '1' , '200')
  4  INTO test_table VALUES('003', '2019', '2' , '200')
  5  INTO test_table VALUES('004', '2019', '2' , NULL)
  6  SELECT * FROM dual;

4行が作成されました。

INSERT文の書き方が少し特殊ですが、複数行INSERTっていう記述の仕方をしています。気になるかたは別に記事書いているので構文とか確認してみてください。
複数行INSERTの構文について

集約関数「MAX」の使用例

ここで注目してほしいのが「NULL」の取り扱いです。
「NULL」は集計関数を使用する際にすべて除外されます。

SQL> SELECT MAX(sales) FROM test_table;

MAX(SALES)
----------
       200

コメント

タイトルとURLをコピーしました