October 2002
Intermediate to advanced
1024 pages
27h 26m
English
You’re summarizing
a set of values that may include NULL values and
you need to know how to interpret the results.
Understand how aggregate functions handle NULL
values.
Most aggregate functions ignore
NULL values. Suppose you have a table
expt that records experimental results for
subjects who are to be given four tests each and that lists the test
score as NULL for those tests that have not yet
been administered:
mysql> SELECT subject, test, score FROM expt ORDER BY subject, test;
+---------+------+-------+
| subject | test | score |
+---------+------+-------+
| Jane | A | 47 |
| Jane | B | 50 |
| Jane | C | NULL |
| Jane | D | NULL |
| Marvin | A | 52 |
| Marvin | B | 45 |
| Marvin | C | 53 |
| Marvin | D | NULL |
+---------+------+-------+By using a GROUP BY clause to
arrange the rows by subject name, the number of tests taken by each
subject, as well as the total, average, lowest, and highest score can
be calculated like this,
mysql>SELECT subject,->COUNT(score) AS n,->SUM(score) AS total,->AVG(score) AS average,->MIN(score) AS lowest,->MAX(score) AS highest->FROM expt GROUP BY subject;+---------+---+-------+---------+--------+---------+ | subject | n | total | average | lowest | highest | +---------+---+-------+---------+--------+---------+ | Jane | 2 | 97 | 48.5000 | 47 | 50 | | Marvin | 3 | 150 | 50.0000 | 45 | 53 | +---------+---+-------+---------+--------+---------+
You can see from results in the column labeled ...
Read now
Unlock full access