Assign the result of an aggregate function to a variable
mysql> mysql> mysql> CREATE TABLE PENALTIES -> (PAYMENTNO INTEGER NOT NULL, -> EmployeeNO INTEGER NOT NULL, -> PAYMENT_DATE DATE NOT NULL, -> AMOUNT DECIMAL(7,2) NOT NULL, -> PRIMARY KEY (PAYMENTNO) ); Query OK, 0 rows affected (0.00 sec) mysql> mysql> INSERT INTO PENALTIES VALUES (1, 6, '1980-12-08',100); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO PENALTIES VALUES (2, 44, '1981-05-05', 75); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO PENALTIES VALUES (3, 27, '1983-09-10',100); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO PENALTIES VALUES (4,104, '1984-12-08', 50); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO PENALTIES VALUES (5, 44, '1980-12-08', 25); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO PENALTIES VALUES (6, 8, '1980-12-08', 25); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO PENALTIES VALUES (7, 44, '1982-12-30', 30); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO PENALTIES VALUES (8, 27, '1984-11-12', 75); Query OK, 1 row affected (0.00 sec) mysql> mysql> SELECT @PENALTIESTOTAL := SUM(AMOUNT), -> @NUMBERPENALTIES := COUNT(*) -> FROM PENALTIES; +--------------------------------+------------------------------+ | @PENALTIESTOTAL := SUM(AMOUNT) | @NUMBERPENALTIES := COUNT(*) | +--------------------------------+------------------------------+ | 480.00 | 8 | +--------------------------------+------------------------------+ 1 row in set (0.00 sec) mysql> mysql> drop table penalties; Query OK, 0 rows affected (0.00 sec) mysql>