I have a database of students, I have to group them by their class and then find out which class has the most students. I know it’s probably a stupid question but I can’t come to the solution.
Sample data:
x
| Name | Class |
|------|-------|
|Tony| 4|
|Anna| 5|
|John| 4|
The output should show class number 4 has the most students
Advertisement
Answer
If you want one row, then you can use:
select class, count(*)
from students
group by class
order by count(*) desc
fetch first 1 row only;
This uses standard SQL functionality. Your database may ahve some other method for choosing one row, such as limit 1
or select top (1)
.