SQLの練習問題です。
筆者の環境は以下となっていますが、別のデータベースやツールでもほとんど同じように動作すると思います。
- MariaDB 5.5.48
- MySQL Workbench 6.3
よくわからないという方は、XAMPをインストールすると簡単に筆者と同じ環境を構築できます。以下のサイトで紹介されています。
WINDOWS XAMPP にて LARAVEL をインストール (XAMPP V1.8.3インストール)
問題として使用するデータは以下からダウンロード可能です。phpMyAdminからデータベース(worldcup2014)を作成しインポートしておいてください。
worldcup2014.zip
問題:
AグループのFIFAランク最上位を表示してください。
正解:
SELECT MIN(ranking) AS AグループのFIFAランク最上位 FROM countries WHERE group_name = 'A'
最小値を求めるグループ関数MINを使用する問題です。グループ関数を使用すると指定したグループ単位にデータをまとめて表示することが可能です。countriesテーブルには32行のデータが存在しますが、実行結果を見ると1行になっています。今回は全32行を1つのグループとみなしてグループ関数を使用しているので、抽出される件数も1件ということになります。
また、FIFAランク最上位ということは値の最も小さいデータということになるので、MINを使用します。MAXではありませんので注意しましょう。