Union grouped value
mysql>
mysql>
mysql> CREATE TABLE MATCHES
-> (MATCHNO INTEGER NOT NULL,
-> TEAMNO INTEGER NOT NULL,
-> EmployeeNO INTEGER NOT NULL,
-> WON SMALLINT NOT NULL,
-> LOST SMALLINT NOT NULL,
-> PRIMARY KEY (MATCHNO) );
Query OK, 0 rows affected (0.00 sec)
mysql>
mysql> INSERT INTO MATCHES VALUES ( 1, 1, 6, 3, 1);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES ( 2, 1, 6, 2, 3);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES ( 3, 1, 6, 3, 0);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES ( 4, 1, 44, 3, 2);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES ( 5, 1, 83, 0, 3);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES ( 6, 1, 2, 1, 3);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES ( 7, 1, 57, 3, 0);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES ( 8, 1, 8, 0, 3);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES ( 9, 2, 27, 3, 2);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES (10, 2, 104, 3, 2);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES (11, 2, 112, 2, 3);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES (12, 2, 112, 1, 3);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES (13, 2, 8, 0, 3);
Query OK, 1 row affected (0.00 sec)
mysql>
mysql> SELECT CAST(TEAMNO AS CHAR(4)) AS TEAMNO,
-> CAST(EmployeeNO AS CHAR(4)) AS EmployeeNO,
-> SUM(WON + LOST) AS TOTAL
-> FROM MATCHES
-> GROUP BY TEAMNO, EmployeeNO
-> UNION
-> SELECT CAST(TEAMNO AS CHAR(4)),
-> 'subtotal',
-> SUM(WON + LOST)
-> FROM MATCHES
-> GROUP BY TEAMNO
-> UNION
-> SELECT 'total', 'total', SUM(WON + LOST)
-> FROM MATCHES
-> ORDER BY 1, 2;
+--------+------------+-------+
| TEAMNO | EmployeeNO | TOTAL |
+--------+------------+-------+
| 1 | 2 | 4 |
| 1 | 44 | 5 |
| 1 | 57 | 3 |
| 1 | 6 | 12 |
| 1 | 8 | 3 |
| 1 | 83 | 3 |
| 1 | subtotal | 30 |
| 2 | 104 | 5 |
| 2 | 112 | 9 |
| 2 | 27 | 5 |
| 2 | 8 | 3 |
| 2 | subtotal | 22 |
| total | total | 52 |
+--------+------------+-------+
13 rows in set, 2 warnings (0.00 sec)
mysql>
mysql> drop table matches;
Query OK, 0 rows affected (0.00 sec)
Related examples in the same category