Mega Code Archive

 
Categories / MySQL / Select Clause
 

Calculation in subquery

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.01 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   MATCHNO, DIFFERENCE     -> FROM    (SELECT   MATCHNO,     ->                   ABS(WON - LOST) AS DIFFERENCE     ->          FROM     MATCHES) AS M     -> WHERE    DIFFERENCE > 2; +---------+------------+ | MATCHNO | DIFFERENCE | +---------+------------+ |       3 |          3 | |       5 |          3 | |       7 |          3 | |       8 |          3 | |      13 |          3 | +---------+------------+ 5 rows in set (0.00 sec) mysql> mysql> drop table matches; Query OK, 0 rows affected (0.00 sec)