because more than one student is enrolled in a course, and therefore the entries
of the result under the attribute stno would be sets of values rather than simple
values. SQL enforces the atomicity of the data generated by a select with
group by by demanding that any component of the target list of such a select
must be either one of the grouping attributes or a built-in function.
Example 5.17.1 Grouping can be done on more than one attribute. Suppose
that now we are interested not in the total enrollment but, rather, in the enroll-
ment numbers for each offering of the courses, that is, in the numbers during
every semester of every year. This can be done using the select construction: