У меня есть таблица информации о студентах в MySQL, которая выглядит так (упрощенно):
| age : int | city : text | name : text |
-----------------------------------------------------
| | | |
Я хочу выбрать все имена и возраст учеников в данном городе, а также, на каждого учащегося, сколько других учеников в его возрастной группе (то есть сколько учеников делят его возрастное значение).
Мне удалось сделать это с помощью подзапроса; что-то вроде:
select
name,
age as a,
(select
count(age)
from
tbl_students
where
age == a)
from
tbl_students
where
city = 'ny'
Но это кажется немного медленным, и я не разбираюсь в SQL, поэтому я решил спросить, есть ли более разумный способ сделать это. Таблица индексируется по возрасту и городу.