Show the names of activities.
select activity_name from activity
For each of them, also show the number of students.
select t1.activity_name, count(*) from activity as t1 join participates_in as t2 on t1.actid = t2.actid group by t1.actid
Sort the names in descending order by this number.
select t1.activity_name from activity as t1 join participates_in as t2 on t1.actid = t2.actid group by t1.actid order by count(*) desc
Which has the most?
select t1.activity_name from activity as t1 join participates_in as t2 on t1.actid = t2.actid group by t1.actid order by count(*) desc limit 1