LoginSignup
0
0

More than 3 years have passed since last update.

MySQL group by句を体験してみる

Posted at

目的

環境

  • ハードウェア環境
項目 情報
OS macOS Catalina(10.15.5)
ハードウェア MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)
プロセッサ 2 GHz クアッドコアIntel Core i5
メモリ 32 GB 3733 MHz LPDDR4
グラフィックス Intel Iris Plus Graphics 1536 MB
  • ソフトウェア環境
項目 情報 備考
MySQLバージョン 8.0.19 for osx10.13 on x86_64 Homwbrewを用いてこちらの方法で導入→Mac HomebrewでMySQLをインストールする

情報

  • Macに直接MySQLのサーバーを立てて実際にSQLを実行してgroup by句を体験してみることとする。
  • 「環境」に記載された条件でgroup by句を体験してみる。

条件

  • MySQLにターミナルからログインする事ができること。(パスワードなどがわからなくなってしまった方はこちら→Mac ローカル環境の MySQL 8.x のrootパスワードを忘れた時のリセット方法
  • 下記SQLを実行してテスト用データベースとテーブルを作成した。

    create database group_by_test;
    use group_by_test;
    create table users(
        id int,
        user_flag int,
        age int,
        name varchar(255)
    );
    insert into users value(1, 1, 20, 'user1');
    insert into users value(2, 1, 22, 'user2');
    insert into users value(3, 2, 18, 'user3');
    insert into users value(4, 1, 16, 'user4');
    insert into users value(5, 2, 22, 'user5');
    insert into users value(6, 1, 10, 'user6');
    
  • 上記のSQLを実行したあとのusersテーブルの状態を下記に記載する。

    mysql> select * from users;
    +------+-----------+------+-------+
    | id   | user_flag | age  | name  |
    +------+-----------+------+-------+
    |    1 |         1 |   20 | user1 |
    |    2 |         1 |   22 | user2 |
    |    3 |         2 |   18 | user3 |
    |    4 |         1 |   16 | user4 |
    |    5 |         2 |   22 | user5 |
    |    6 |         1 |   10 | user6 |
    +------+-----------+------+-------+
    

体験

  1. 下記を実行してuser_flagが1と2のユーザーの年齢の平均値を別々に出力してみる。

    select user_flag, avg(age) as avg_age from users group by user_flag;
    
  2. 下記のように出力された。

    +-----------+---------+
    | user_flag | avg_age |
    +-----------+---------+
    |         1 | 17.0000 |
    |         2 | 20.0000 |
    +-----------+---------+
    
  3. group by句は「出力結果を指定したカラムでまとめてくれる」とおぼえておこう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0