SQLで最大最・最小値・平均値を求めてみよう
SQLで最大値・最小値・平均値を求めてみましょう。テーブルを作成し、データを挿入し、SQLで最大値・最小値・平均値を求めています。
データベースを作成
データベースがない場合はcreate database文でデータベースを作成しましょう。
MariaDB [none]> create database kimotosystem; MariaDB [kimotosystem]> use kimotosystem; MariaDB [kimotosystem]> show tables; +-----------------+ | Tables_in_kimotosystem | +-----------------+ | book | +-----------------+ 1 row in set (0.01 sec)
テーブルの作成
create table文を使ってテーブルを作成します。テーブル名はbookです。IDと書名と価格のデータです。
MariaDB [kimotosystem]> MariaDB [kimotosystem]> MariaDB [kimotosystem]> create table kimotosystem.book(id int AUTO_INCREMENT PRIMARY KEY,name varchar(10), price int); Query OK, 0 rows affected (0.01 sec) MariaDB [itodb]> desc book; +-------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(10) | YES | | NULL | | | price | int(11) | YES | | NULL | | +-------+-------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec)
データの挿入
書籍のデータをSQLのinsert文を使って挿入します。
MariaDB [kimotosystem]> insert into kimotosystem.book (name,price) values ('book A',800),('book B', 1000),('book C', 1500),('book D', 2500),('book E',2800),('book F',3500),('book G',4000); Query OK, 7 rows affected (0.01 sec) Records: 7 Duplicates: 0 Warnings: 0 MariaDB [kimotosystem]> select * from kimotosystem.book; +----+--------+-------+ | id | name | price | +----+--------+-------+ | 1 | book A | 800 | | 2 | book B | 1000 | | 3 | book C | 1500 | | 4 | book D | 2500 | | 5 | book E | 2800 | | 6 | book F | 3500 | | 7 | book G | 4000 | +----+--------+-------+ 7 rows in set (0.01 sec)
SQLで最大値・最小値・平均値を求める
select文と集合演算を使って、最大値・最小値・平均値を求めます。
MariaDB [kimotosystem]> select max(price), min(price),avg(price) from kimotosystem.book; +------------+------------+------------+ | max(price) | min(price) | avg(price) | +------------+------------+------------+ | 4000 | 800 | 2300.0000 | +------------+------------+------------+ 1 row in set (0.00 sec)