Search

2 つのレベルの分析を 1 回のクエリで実行可能
WITH ROLLUP

unknown

mysql> SELECT Subject, SUM(TestScore) Enter
    -> FROM tbl_Test Enter
    -> GROUP BY Subject Enter
    -> WITH ROLLUP; Enter
+---------+----------------+
| Subject | SUM(TestScore) |
+---------+----------------+
| 国語    |            412 |
| 算数    |            430 |
| NULL    |            842 |
+---------+----------------+
3 rows in set (0.00 sec)

抽出レコードの数の制限
LIMIT

unknown

mysql> SELECT * FROM tbl_Student; Enter
+-----------+-----------+-----------+----------+------+
| StudentID | ClassName | FirstName | LastName | Sex  |
+-----------+-----------+-----------+----------+------+
| A01       | A         | 尚        | 青木     | f    |
| A02       | A         | 太郎      | 井上     | m    |
| A03       | A         | 加奈子    | 宇野     | m    |
| B01       | B         | ひろみ    | 新井     | f    |
| B02       | B         | 一郎      | 青木     | m    |
| B03       | A         | ゆりえ    | 石田     | f    |
+-----------+-----------+-----------+----------+------+
6 rows in set (0.12 sec)

# 名前順に上限3件取得
mysql> SELECT StudentID, ClassName, CONCAT(LastName,' ',FirstName) AS Name, Sex Enter
    -> FROM tbl_Student Enter
    -> ORDER BY Name Enter
    -> LIMIT 3; Enter
+-----------+-----------+-------------+------+
| StudentID | ClassName | Name        | Sex  |
+-----------+-----------+-------------+------+
| A02       | A         | 井上 太郎   | m    |
| A03       | A         | 宇野 加奈子 | m    |
| B01       | B         | 新井 ひろみ | f    |
+-----------+-----------+-------------+------+
3 rows in set (0.38 sec)

このページで使用しているサンプルデータ

unknown

# データベース(db_Student)作成
CREATE DATABASE IF NOT EXISTS db_Student;

#データベース選択
USE db_Student;

# テーブル(tbl_Test)作成
CREATE TABLE tbl_Test(
SEQ INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
StudentID VARCHAR(3) DEFAULT NULL,
Subject VARCHAR(20) DEFAULT NULL,
TestScore INTEGER DEFAULT NULL
);

# データ挿入
INSERT INTO tbl_Test (StudentID,Subject,TestScore) VALUES
('A01','国語',98),
('A02','国語',30),
('A03','国語',78),
('A01','算数',60),
('A02','算数',80),
('A03','算数',90),
('B01','国語',80),
('B02','国語',80),
('B03','国語',46),
('B01','算数',50),
('B02','算数',90),
('B03','算数',60);

# テーブル(tbl_Student)作成
CREATE TABLE tbl_Student(
StudentID VARCHAR(3) NOT NULL PRIMARY KEY,
ClassName CHAR(2) NOT NULL,
FirstName VARCHAR(20) DEFAULT NULL,
LastName VARCHAR(20) DEFAULT NULL,
Sex CHAR(2) DEFAULT NULL
);

# データ挿入
INSERT INTO tbl_Student (StudentID,ClassName,FirstName,LastName,Sex) VALUES
('A01','A','尚','青木','f'),
('A02','A','太郎','井上','m'),
('A03','A','加奈子','宇野','m'),
('B01','B','ひろみ','新井','f'),
('B02','B','一郎','青木','m'),
('B03','A','ゆりえ','石田','f');

関連コンテンツ

Q. このサイトの情報はお役に立ちましたでしょうか?

投票する 投票結果を見る

管理人に【web拍手】を送るweb拍手(1行メッセージも送れます♪)

pagetop

polarized women