Mega Code Archive

 
Categories / MySQL / Select Clause
 

Group by two columns

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> mysql> SELECT   TEAMNO, EmployeeNO     -> FROM     MATCHES     -> GROUP BY TEAMNO, EmployeeNO     -> ; +--------+------------+ | TEAMNO | EmployeeNO | +--------+------------+ |      1 |          2 | |      1 |          6 | |      1 |          8 | |      1 |         44 | |      1 |         57 | |      1 |         83 | |      2 |          8 | |      2 |         27 | |      2 |        104 | |      2 |        112 | +--------+------------+ 10 rows in set (0.00 sec) mysql> mysql> SELECT   TEAMNO, EmployeeNO     -> FROM     MATCHES     -> GROUP BY EmployeeNO, TEAMNO     -> ; +--------+------------+ | TEAMNO | EmployeeNO | +--------+------------+ |      1 |          2 | |      1 |          6 | |      1 |          8 | |      2 |          8 | |      2 |         27 | |      1 |         44 | |      1 |         57 | |      1 |         83 | |      2 |        104 | |      2 |        112 | +--------+------------+ 10 rows in set (0.00 sec) mysql> mysql> SELECT   TEAMNO, EmployeeNO, SUM(WON),     ->          COUNT(*), MIN(LOST)     -> FROM     MATCHES     -> GROUP BY TEAMNO, EmployeeNO; +--------+------------+----------+----------+-----------+ | TEAMNO | EmployeeNO | SUM(WON) | COUNT(*) | MIN(LOST) | +--------+------------+----------+----------+-----------+ |      1 |          2 |        1 |        1 |         3 | |      1 |          6 |        8 |        3 |         0 | |      1 |          8 |        0 |        1 |         3 | |      1 |         44 |        3 |        1 |         2 | |      1 |         57 |        3 |        1 |         0 | |      1 |         83 |        0 |        1 |         3 | |      2 |          8 |        0 |        1 |         3 | |      2 |         27 |        3 |        1 |         2 | |      2 |        104 |        3 |        1 |         2 | |      2 |        112 |        3 |        2 |         3 | +--------+------------+----------+----------+-----------+ 10 rows in set (0.00 sec) mysql> mysql> drop table matches; Query OK, 0 rows affected (0.00 sec)